ASAN Issue - heap use after free(TFDF-2905,206,2907) 29/210729/1 accepted/tizen/unified/20190725.042918 submit/tizen/20190724.090915
authorAbhishek Vijay <abhishek.v@samsung.com>
Wed, 24 Jul 2019 06:25:47 +0000 (11:55 +0530)
committerAbhishek Vijay <abhishek.v@samsung.com>
Wed, 24 Jul 2019 06:25:47 +0000 (11:55 +0530)
Change-Id: I373b54dbf9278d82d38a50d8dfd9ecfd2fdc1146

src/sync-service/SyncManager_RepositoryEngine.cpp

index 32ee0405347967734265817a289248aab915bb00..e2b16f0cac786ba3fca5435df8b79b690df945dc 100644 (file)
@@ -1107,9 +1107,9 @@ RepositoryEngine::InsertSyncAdapterToDB(const char *SvcAppId, const char *PkgNam
                if (ret == SQLITE_DONE) {
                        sqlite3_reset(stmt);
                        if (!PkgName || strlen(PkgName) <= 0) {
-                               const char *SvcPkgId = SyncManager::GetInstance()->GetPkgIdByAppId(SvcAppId).c_str();
+                               string SvcPkgId = SyncManager::GetInstance()->GetPkgIdByAppId(SvcAppId);
                                insert_query = sqlite3_mprintf("INSERT INTO %Q (SvcAppId, PkgName, UserId, DoA, AppStatus, ProcId) VALUES (%Q, %Q, %Q, %Q, %Q, %Q)",
-                                                                                               SYNC_ADAPTER_TABLE, SvcAppId, SvcPkgId,
+                                                                                               SYNC_ADAPTER_TABLE, SvcAppId, SvcPkgId.c_str(),
                                                                                                uid, DoA, AppStatus ? AppStatus : "enabled", pid);
                        } else {
                                insert_query = sqlite3_mprintf("INSERT INTO %Q (SvcAppId, PkgName, UserId, DoA, AppStatus, ProcId) VALUES (%Q, %Q, %Q, %Q, %Q, %Q)",
@@ -1944,13 +1944,13 @@ RepositoryEngine::UpdateSyncJobToDB(const char *SvcAppId, int UserId, const char
                }
 
                char *update_query = NULL;
-               const char *SvcPkgId = SyncManager::GetInstance()->GetPkgIdByAppId(SvcAppId).c_str();
+               string SvcPkgId = SyncManager::GetInstance()->GetPkgIdByAppId(SvcAppId);
 
                update_query = sqlite3_mprintf("UPDATE %Q SET AppStatus=%Q, SyncJobId=%Q, AccountId=%Q, Interval=%Q, "
                                                                                "Expedit=%Q, NoRetry=%Q, UserDataKey=%Q, UserDataValue=%Q "
                                                                                "WHERE SvcAppId=%Q AND PkgName=%Q AND UserId=%Q AND SyncType=%Q AND JobName=%Q",
                                                                                SYNC_JOB_TABLE, AppStatus, jobId, accId, interval, expedit, noRetry, UserKey, UserValue,
-                                                                               SvcAppId, SvcPkgId, uid, SyncType, JobName);
+                                                                               SvcAppId, SvcPkgId.c_str(), uid, SyncType, JobName);
 
                sqlite3_stmt *stmt = NULL;
                int ret = SQLITE_OK;