[Non-ACR][Fix Warnings] 46/178446/2 accepted/tizen/unified/20180511.073953 submit/tizen/20180510.135950
authorAbhishek Vijay <abhishek.v@samsung.com>
Thu, 10 May 2018 06:13:52 +0000 (11:43 +0530)
committerAbhishek Vijay <abhishek.v@samsung.com>
Thu, 10 May 2018 07:04:00 +0000 (12:34 +0530)
Change-Id: I3ca7124f77869b891e77e6c5fd362e2fc86d695e
Signed-off-by: Abhishek Vijay <abhishek.v@samsung.com>
src/sync-service/SyncManager_RepositoryEngine.cpp

index 31c369b4535fa013023c78df4e7c4fa68ad0a803..187800179985efd49e6bbfc93885994cb81a17b9 100644 (file)
@@ -1682,15 +1682,11 @@ static void bundIterCb(const char *key, const char *value, void *user_data) {
        UserValue = const_cast<char *>(value);
 }
 
-/*
-static std::string setEmpty(void) {
-       return "";
-}*/
-
-
 int
 RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, int UserId, const char *AppStatus, int JobId,
                                                const char *SyncType, int AccountId, const char *JobName, int Interval, int Option, bundle *UserData) {
+       bool user_data_available = false;
+
        sqlite3 *db = NULL;
        db = db_open();
        if (!db) {
@@ -1713,11 +1709,13 @@ RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, i
                char noRetry[2] = { 0, };
                snprintf(noRetry, sizeof(noRetry) - 1, "%d", Option & SYNC_OPTION_NO_RETRY);
 
-               UserKey = const_cast<char *>(std::string().c_str());
-               UserValue = const_cast<char *>(std::string().c_str());
-
-               if (UserData)
+               if (UserData) {
                        bundle_iterate(UserData, bundIterCb, NULL);
+               } else {
+                       UserKey = strdup("");
+                       UserValue = strdup("");
+                       user_data_available = true;
+               }
 
                char *search_query = NULL;
                char *insert_query = NULL;
@@ -1731,6 +1729,11 @@ RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, i
                        LOG_LOGD("prepare : search query[%s] ret[%d] err_msg[%s]", search_query, ret, sqlite3_errmsg(db));
                        sqlite3_finalize(stmt);
                        sqlite3_free(search_query);
+                       if (user_data_available && UserKey && UserValue) {
+                               free(UserKey);
+                               free(UserValue);
+                               UserKey = UserValue = NULL;
+                       }
                        db_close(db);
                        LOG_LOGD("sync-manager DB close");
                        return -1;
@@ -1751,6 +1754,11 @@ RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, i
                                sqlite3_finalize(stmt);
                                sqlite3_free(search_query);
                                sqlite3_free(insert_query);
+                               if (user_data_available && UserKey && UserValue) {
+                                       free(UserKey);
+                                       free(UserValue);
+                                       UserKey = UserValue = NULL;
+                               }
                                db_close(db);
                                LOG_LOGD("sync-manager DB close");
                                return -1;
@@ -1763,6 +1771,11 @@ RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, i
                                sqlite3_finalize(stmt);
                                sqlite3_free(search_query);
                                sqlite3_free(insert_query);
+                               if (user_data_available && UserKey && UserValue) {
+                                       free(UserKey);
+                                       free(UserValue);
+                                       UserKey = UserValue = NULL;
+                               }
                                db_close(db);
                                LOG_LOGD("sync-manager DB close");
                                return -1;
@@ -1775,6 +1788,11 @@ RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, i
                        sqlite3_reset(stmt);
                        sqlite3_finalize(stmt);
                        sqlite3_free(search_query);
+                       if (user_data_available && UserKey && UserValue) {
+                               free(UserKey);
+                               free(UserValue);
+                               UserKey = UserValue = NULL;
+                       }
                        db_close(db);
                        LOG_LOGD("sync-manager DB close");
                        return UpdateSyncJobToDB(SvcAppId, UserId, AppStatus, JobId, SyncType, AccountId, JobName, Interval, Option, UserData);
@@ -1783,6 +1801,11 @@ RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, i
                        sqlite3_reset(stmt);
                        sqlite3_finalize(stmt);
                        sqlite3_free(search_query);
+                       if (user_data_available && UserKey && UserValue) {
+                               free(UserKey);
+                               free(UserValue);
+                               UserKey = UserValue = NULL;
+                       }
                        db_close(db);
                        LOG_LOGD("sync-manager DB close");
                        return -1;
@@ -1795,6 +1818,12 @@ RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, i
                LOG_LOGD("Insert sync job fail : invalid service-app-id");
        }
 
+       if (user_data_available && UserKey && UserValue) {
+               free(UserKey);
+               free(UserValue);
+               UserKey = UserValue = NULL;
+       }
+
        db_close(db);
 
        LOG_LOGD("sync-manager DB close");
@@ -1865,7 +1894,9 @@ RepositoryEngine::UpdateAppStatusToDB(const char *SvcAppId, const char *PkgName,
 
 int
 RepositoryEngine::UpdateSyncJobToDB(const char *SvcAppId, int UserId, const char *AppStatus, int JobId, const char *SyncType,
-                                                                       int AccountId, const char *JobName, int Interval, int Option, bundle *UserData) {
+                                               int AccountId, const char *JobName, int Interval, int Option, bundle *UserData) {
+       bool user_data_available = false;
+
        sqlite3 *db = NULL;
        db = db_open();
        if (!db) {
@@ -1888,11 +1919,13 @@ RepositoryEngine::UpdateSyncJobToDB(const char *SvcAppId, int UserId, const char
                char noRetry[2] = { 0, };
                snprintf(noRetry, sizeof(noRetry) - 1, "%d", Option & SYNC_OPTION_NO_RETRY);
 
-               UserKey = const_cast<char *>(std::string().c_str());
-               UserValue = const_cast<char *>(std::string().c_str());
-
-               if (UserData)
+               if (UserData) {
                        bundle_iterate(UserData, bundIterCb, NULL);
+               } else {
+                       UserKey = strdup("");
+                       UserValue = strdup("");
+                       user_data_available = true;
+               }
 
                char *update_query = NULL;
 
@@ -1910,6 +1943,11 @@ RepositoryEngine::UpdateSyncJobToDB(const char *SvcAppId, int UserId, const char
                        LOG_LOGD("prepare : update query[%s] ret[%d] err_msg[%s]", update_query, ret, sqlite3_errmsg(db));
                        sqlite3_finalize(stmt);
                        sqlite3_free(update_query);
+                       if (user_data_available && UserKey && UserValue) {
+                               free(UserKey);
+                               free(UserValue);
+                               UserKey = UserValue = NULL;
+                       }
                        db_close(db);
                        LOG_LOGD("sync-manager DB close");
                        return -1;
@@ -1923,6 +1961,11 @@ RepositoryEngine::UpdateSyncJobToDB(const char *SvcAppId, int UserId, const char
                        sqlite3_reset(stmt);
                        sqlite3_finalize(stmt);
                        sqlite3_free(update_query);
+                       if (user_data_available && UserKey && UserValue) {
+                               free(UserKey);
+                               free(UserValue);
+                               UserKey = UserValue = NULL;
+                       }
                        db_close(db);
                        LOG_LOGD("sync-manager DB close");
                        return -1;
@@ -1938,6 +1981,12 @@ RepositoryEngine::UpdateSyncJobToDB(const char *SvcAppId, int UserId, const char
                LOG_LOGD("update sync job fail : invalid service-app-id");
        }
 
+       if (user_data_available && UserKey && UserValue) {
+               free(UserKey);
+               free(UserValue);
+               UserKey = UserValue = NULL;
+       }
+
        db_close(db);
 
        LOG_LOGD("sync-manager DB close");