Fix HANDLE_LEAK_SQLITE_STATEMENT issue 06/168406/1 accepted/tizen/unified/20180130.055216 submit/tizen/20180130.011229
authorJiyong Min <jiyong.min@samsung.com>
Fri, 26 Jan 2018 08:05:43 +0000 (17:05 +0900)
committerJiyong Min <jiyong.min@samsung.com>
Fri, 26 Jan 2018 08:10:39 +0000 (08:10 +0000)
Change-Id: I4c3a50382a3ad035b6081c5911c085fb16cadcc8
(cherry picked from commit 04196724d55566dcd069628fdf4f5f7b75a844b7)

src/media_controller_db.c

index 03b6669..c366983 100755 (executable)
@@ -400,7 +400,12 @@ int mc_db_get_metadata_info(void *handle, const char *server_name, mc_metadata_h
                return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
        } else {
                _metadata = (media_controller_metadata_s *)calloc(1, sizeof(media_controller_metadata_s));
-               mc_retvm_if(_metadata == NULL, MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+               if (_metadata == NULL) {
+                       mc_error("OUT_OF_MEMORY");
+                       SQLITE3_FINALIZE(stmt);
+                       SQLITE3_SAFE_FREE(sql_str);
+                       return MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORY;
+               }
 
                if (MC_STRING_VALID((const char *)sqlite3_column_text(stmt, MC_SERVER_FIELD_TITLE)))
                        _metadata->title = strdup((const char *)sqlite3_column_text(stmt, MC_SERVER_FIELD_TITLE));