[Non-ACR][Coverity Fixes] 09/177109/3 accepted/tizen/unified/20180426.145902 submit/tizen/20180426.100421
authorAbhishek Vijay <abhishek.v@samsung.com>
Wed, 25 Apr 2018 08:14:01 +0000 (13:44 +0530)
committerAbhishek Vijay <abhishek.v@samsung.com>
Wed, 25 Apr 2018 13:00:13 +0000 (18:30 +0530)
Change-Id: Ie2e607d45c71c62aa8222fd91d53a970a58ca20e
Signed-off-by: Abhishek Vijay <abhishek.v@samsung.com>
src/sync-client/sync_adapter.c
src/sync-client/sync_manager.c
src/sync-service/SyncManager_CurrentSyncJobQueue.cpp
src/sync-service/SyncManager_RepositoryEngine.cpp
src/sync-service/SyncManager_SyncManager.cpp
src/sync-service/SyncManager_SyncService.cpp

index 0bf4184785c42d75ccfaf02071a676c6b55f7ff1..ed91664b7bec4935968d95de741505dc69f73bf8 100644 (file)
@@ -72,15 +72,19 @@ __sync_adapter_on_start_sync(TizenSyncAdapter *pObject,
        LOG_LOGD("Received start sync request in sync adapter: params account[%d] jobname [%s] Data sync [%s]", accountId, pSyncJobName, is_data_sync ? "YES" : "NO");
 
        char *command_line = proc_get_cmdline_self();
+       if (command_line == NULL)
+               return false;
 
        if (!g_sync_adapter) {
                LOG_LOGD("Sync adapter is already released");
+               free(command_line);
                return false;
        }
 
        if (g_sync_adapter->__syncRunning) {
                LOG_LOGD("Sync already running");
                tizen_sync_adapter_call_send_result_sync(pObject, command_line, (int)SYNC_STATUS_SYNC_ALREADY_IN_PROGRESS, pSyncJobName, NULL, NULL);
+               free(command_line);
                return true;
        }
 
index 79d3188facd93f61da65ce33eff013b930e9ddf8..2523f837de90a831936fcf1f1b251e8597544006 100644 (file)
@@ -167,10 +167,13 @@ static int _sync_get_error_code(bool is_success, GError *error)
                                        if (g_strcmp0(_sync_errors[i].dbus_error_name, remote_error) == 0) {
                                                LOG_LOGD("Remote error code matched [%d]", _sync_errors[i].error_code);
                                                g_free(remote_error);
+                                               remote_error = NULL;
                                                return _sync_errors[i].error_code;
                                        }
                                }
                        }
+                       if (remote_error)
+                               g_free(remote_error);
                }
                /* All undocumented errors mapped to SYNC_ERROR_UNKNOWN */
                return SYNC_ERROR_UNKNOWN;
index cb3fbbe03950715531011349adc103ade242dc63..5f8bcb3809716e7ee13a2c5d5a0875f2342b7d0e 100644 (file)
@@ -176,7 +176,7 @@ string
 CurrentSyncJobQueue::ToKey(account_h account, string capability) {
        int ret = ACCOUNT_ERROR_NONE;
        string key;
-       char* pName;
+       char* pName = NULL;
        int id;
        stringstream ss;
 
@@ -191,6 +191,8 @@ CurrentSyncJobQueue::ToKey(account_h account, string capability) {
        ss << id;
        key.append("id:").append(ss.str()).append("name:").append(pName).append("capability:").append(capability.c_str());
 
+       if (pName)
+               free(pName);
        return key;
 }
 
index 034a68e587cfe94021a5a5cc7217b50518859102..31c369b4535fa013023c78df4e7c4fa68ad0a803 100644 (file)
@@ -394,8 +394,22 @@ RepositoryEngine::ReadSyncAdapters(void) {
                while (cur != NULL) {
                        if (!xmlStrcmp(cur->name, XML_NODE_SYNCADAPTER)) {
                                xmlChar* pServiceAppId = xmlGetProp(cur, XML_ATTR_SYNCADAPTER_SERVICE_APP_ID);
+                               if (pServiceAppId == NULL) {
+                                       LOG_LOGD("Found empty service_app_id while parsing syncadapters.xml");
+                                       xmlFreeDoc(doc);
+                                       return;
+                               }
+
                                xmlChar* pPackageId = xmlGetProp(cur, XML_ATTR_PACKAGE_ID);
+                               if (pPackageId == NULL) {
+                                       LOG_LOGD("Found empty package_id while parsing syncadapters.xml");
+                                       xmlFreeDoc(doc);
+                                       return;
+                               }
+
                                xmlChar* pAppStatus = xmlGetProp(cur, XML_ATTR_APP_STATUS);
+                               if (pAppStatus == NULL)
+                                       LOG_LOGD("Found empty app_status while parsing syncadapters.xml");
 
                                pkgmgrinfo_appinfo_h handle_appinfo;
                                if (pkgmgrinfo_appinfo_get_appinfo((char*)pServiceAppId, &handle_appinfo) == PMINFO_R_OK) {
@@ -410,11 +424,8 @@ RepositoryEngine::ReadSyncAdapters(void) {
                                } else {
                                        pAggregator->HandlePackageUninstalled((char*)pPackageId);
                                }
-
-                               if (pServiceAppId)
-                                       xmlFree(pServiceAppId);
-                               if (pPackageId)
-                                       xmlFree(pPackageId);
+                               xmlFree(pServiceAppId);
+                               xmlFree(pPackageId);
                                if (pAppStatus)
                                        xmlFree(pAppStatus);
                        }
index 33b454487713cbefda0416c5df7954b57fdd3a9f..aed6c9a788c0db6a367b20b96aa309879fb6c949 100644 (file)
@@ -866,8 +866,8 @@ SyncManager::AreAccountsEqual(account_h account1, account_h account2) {
                isEqual = false;
        }
 
-       char* pName1;
-       char* pName2;
+       char* pName1 = NULL;
+       char* pName2 = NULL;
        if (account_get_user_name(account1, &pName1) < 0) {
                isEqual = false;
        }
@@ -878,7 +878,14 @@ SyncManager::AreAccountsEqual(account_h account1, account_h account2) {
        if (id1 == id2 && strcmp(pName1, pName2) == 0) {
                isEqual = true;
        }
-
+       if (pName1) {
+               free(pName1);
+               pName1 = NULL;
+       }
+       if (pName2) {
+               free(pName2);
+               pName2 = NULL;
+       }
        return isEqual;
 }
 
index 4024116799f26ce52addbed36cc10a3181668381..868facebec7ec09bb759c9508c23d0a18ae1c0dc 100644 (file)
@@ -745,6 +745,7 @@ sync_manager_add_on_demand_job(TizenSyncManager* pObject, GDBusMethodInvocation*
                /* LCOV_EXCL_STOP */
        }
 
+       ret = SYNC_ERROR_NONE;
        int sync_job_id = 0;
        if (!pkgIdStr.empty()) {
                LOG_LOGD("Params acc[%d] name[%s] option[%d] package[%s]", accountId, pSyncJobName, sync_option, pkgIdStr.c_str());
@@ -796,6 +797,7 @@ sync_manager_remove_job(TizenSyncManager* pObject, GDBusMethodInvocation* pInvoc
                /* LCOV_EXCL_STOP */
        }
 
+       ret = SYNC_ERROR_NONE;
        if (!pkgIdStr.empty()) {
                LOG_LOGD("package id [%s]", pkgIdStr.c_str());
                ret = SyncManager::GetInstance()->RemoveSyncJob(pkgIdStr, atoi((char*)uid), sync_job_id);
@@ -864,6 +866,7 @@ sync_manager_add_periodic_job(TizenSyncManager* pObject, GDBusMethodInvocation*
                /* LCOV_EXCL_STOP */
        }
 
+       ret = SYNC_ERROR_NONE;
        bundle *pBundle = NULL;
        int sync_job_id = 0;
        if (!pkgIdStr.empty()) {