Use sqlite3_snprintf instead of g_strlcpy 88/228088/1
authorMinje Ahn <minje.ahn@samsung.com>
Thu, 19 Mar 2020 03:21:52 +0000 (12:21 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Thu, 19 Mar 2020 03:21:52 +0000 (12:21 +0900)
Change-Id: Iea615f4564ba540724e1c659ad45d1053ee08543
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/media_db.c

index 4004c9c00bf2efadccfccb3d64716ad5d41e23d2..ddc5f4d4189f3b3f2eb5aceec49e9faa2b560318 100755 (executable)
@@ -1040,7 +1040,6 @@ int _media_db_get_group_item_count(const char *group_name, filter_h filter, grou
        int ret = MEDIA_CONTENT_ERROR_NONE;
        sqlite3_stmt *stmt = NULL;
        char select_query[MAX_QUERY_SIZE] = {0, };
-       char *tmp_query = NULL;
        char *condition_query = NULL;
        char *option_query = NULL;
        char *tmp_option = NULL;
@@ -1084,45 +1083,45 @@ int _media_db_get_group_item_count(const char *group_name, filter_h filter, grou
        } else if (group_type == MEDIA_GROUP_FOLDER) {
 #ifdef _USE_TVPD_MODE
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_FOLDER, _filter->storage_id, group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_FOLDER, _filter->storage_id, group_name);
                else
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_FOLDER, DB_VIEW_MEDIA, group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_FOLDER, DB_VIEW_MEDIA, group_name);
 #else
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_FOLDER_BY_STORAGE_ID, group_name, _filter->storage_id);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_FOLDER_BY_STORAGE_ID, group_name, _filter->storage_id);
                else
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_FOLDER, group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_FOLDER, group_name);
 #endif
-               SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
+
        } else if (group_type == MEDIA_GROUP_TAG_BY_MEDIA_ID) {
                snprintf(select_query, sizeof(select_query), SELECT_TAG_COUNT_BY_MEDIA_ID, group_name);
        } else if (group_type == MEDIA_GROUP_BOOKMARK_BY_MEDIA_ID) {
 #ifdef _USE_TVPD_MODE
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                       tmp_query = sqlite3_mprintf(SELECT_BOOKMARK_COUNT_BY_MEDIA_ID, _filter->storage_id, group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_BOOKMARK_COUNT_BY_MEDIA_ID, _filter->storage_id, group_name);
                else
-                       tmp_query = sqlite3_mprintf(SELECT_BOOKMARK_COUNT_BY_MEDIA_ID, DB_VIEW_MEDIA, group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_BOOKMARK_COUNT_BY_MEDIA_ID, DB_VIEW_MEDIA, group_name);
 #else
-               tmp_query = sqlite3_mprintf(SELECT_BOOKMARK_COUNT_BY_MEDIA_ID, group_name);
+               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_BOOKMARK_COUNT_BY_MEDIA_ID, group_name);
 #endif
-               SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
+
        } else if (group_type == MEDIA_GROUP_STORAGE) {
 #ifdef _USE_TVPD_MODE
-               tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_STORAGE, group_name, group_name);
+               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_STORAGE, group_name, group_name);
 #else
-               tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_STORAGE, group_name);
+               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_STORAGE, group_name);
 #endif
-               SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
+
        } else if (group_type == MEDIA_GROUP_FACE_BY_MEDIA_ID) {
 #ifdef _USE_TVPD_MODE
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                       tmp_query = sqlite3_mprintf(SELECT_FACE_COUNT_BY_MEDIA_ID, _filter->storage_id, group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_FACE_COUNT_BY_MEDIA_ID, _filter->storage_id, group_name);
                else
-                       tmp_query = sqlite3_mprintf(SELECT_FACE_COUNT_BY_MEDIA_ID, DB_VIEW_MEDIA, group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_FACE_COUNT_BY_MEDIA_ID, DB_VIEW_MEDIA, group_name);
 #else
-               tmp_query = sqlite3_mprintf(SELECT_FACE_COUNT_BY_MEDIA_ID, group_name);
+               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_FACE_COUNT_BY_MEDIA_ID, group_name);
 #endif
-               SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
+
 #ifdef _USE_TVPD_MODE
        } else if (group_type == MEDIA_GROUP_PVR) {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
@@ -1140,8 +1139,6 @@ int _media_db_get_group_item_count(const char *group_name, filter_h filter, grou
                return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
        }
 
-       SQLITE3_SAFE_FREE(tmp_query);
-
        ret = __media_db_make_query(filter, &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
@@ -1402,7 +1399,6 @@ int _media_db_get_media_group_item_count(const char *group_name, filter_h filter
        int ret = MEDIA_CONTENT_ERROR_NONE;
        sqlite3_stmt *stmt = NULL;
        char select_query[MAX_QUERY_SIZE] = {0, };
-       char *tmp_query = NULL;
        char *tmp_option = NULL;
        char *condition_query = NULL;
        char *option_query = NULL;
@@ -1413,11 +1409,11 @@ int _media_db_get_media_group_item_count(const char *group_name, filter_h filter
        if (group < MEDIA_PVR_GROUP_DURATION) { /*media content */
                if (group_name != NULL) {
                        if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                               tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_GROUP, _filter->storage_id, __media_db_get_group_name(group), group_name);
+                               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_GROUP, _filter->storage_id, __media_db_get_group_name(group), group_name);
                        else
-                               tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_GROUP, DB_VIEW_MEDIA, __media_db_get_group_name(group), group_name);
+                               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_GROUP, DB_VIEW_MEDIA, __media_db_get_group_name(group), group_name);
+
 
-                       SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
                } else {
                        if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
                                snprintf(select_query, sizeof(select_query), SELECT_MEDIA_COUNT_FROM_GROUP_NULL, _filter->storage_id, __media_db_get_group_name(group));
@@ -1427,11 +1423,11 @@ int _media_db_get_media_group_item_count(const char *group_name, filter_h filter
        } else if (group < MEDIA_UHD_GROUP_CONTENT_TITLE) {/*pvr content*/
                if (group_name != NULL) {
                        if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                               tmp_query = sqlite3_mprintf(SELECT_PVR_COUNT_FROM_GROUP_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group), group_name);
+                               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_PVR_COUNT_FROM_GROUP_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group), group_name);
                        else
-                               tmp_query = sqlite3_mprintf(SELECT_PVR_COUNT_FROM_GROUP, __media_db_get_group_name(group), group_name);
+                               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_PVR_COUNT_FROM_GROUP, __media_db_get_group_name(group), group_name);
+
 
-                       SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
                } else {
                        if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
                                snprintf(select_query, sizeof(select_query), SELECT_PVR_COUNT_FROM_GROUP_NULL_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group));
@@ -1441,11 +1437,11 @@ int _media_db_get_media_group_item_count(const char *group_name, filter_h filter
        } else {/*uhd content*/
                if (group_name != NULL) {
                        if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                               tmp_query = sqlite3_mprintf(SELECT_UHD_COUNT_FROM_GROUP_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group), group_name);
+                               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_UHD_COUNT_FROM_GROUP_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group), group_name);
                        else
-                               tmp_query = sqlite3_mprintf(SELECT_UHD_COUNT_FROM_GROUP, __media_db_get_group_name(group), group_name);
+                               sqlite3_snprintf(sizeof(select_query), select_query, SELECT_UHD_COUNT_FROM_GROUP, __media_db_get_group_name(group), group_name);
+
 
-                       SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
                } else {
                        if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
                                snprintf(select_query, sizeof(select_query), SELECT_UHD_COUNT_FROM_GROUP_NULL_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group));
@@ -1456,11 +1452,11 @@ int _media_db_get_media_group_item_count(const char *group_name, filter_h filter
 #else
        if (group_name != NULL) {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id)) {
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_GROUP_BY_STORAGE_ID, __media_db_get_group_name(group), group_name, _filter->storage_id);
-                       SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_GROUP_BY_STORAGE_ID, __media_db_get_group_name(group), group_name, _filter->storage_id);
+
                } else {
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_GROUP, __media_db_get_group_name(group), group_name);
-                       SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_COUNT_FROM_GROUP, __media_db_get_group_name(group), group_name);
+
                }
        } else {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
@@ -1469,7 +1465,6 @@ int _media_db_get_media_group_item_count(const char *group_name, filter_h filter
                        snprintf(select_query, sizeof(select_query), SELECT_MEDIA_COUNT_FROM_GROUP_NULL, __media_db_get_group_name(group));
        }
 #endif
-       SQLITE3_SAFE_FREE(tmp_query);
 
        ret = __media_db_make_query(filter, &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -1499,7 +1494,6 @@ int _media_db_get_media_group_item(const char *group_name, filter_h filter, medi
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        char select_query[MAX_QUERY_SIZE] = {0, };
-       char *tmp_query = NULL;
        char *condition_query = NULL;
        char *option_query = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -1509,11 +1503,11 @@ int _media_db_get_media_group_item(const char *group_name, filter_h filter, medi
 #ifdef _USE_TVPD_MODE
        if (group_name != NULL) {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_FROM_GROUP, _filter->storage_id, __media_db_get_group_name(group), group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_FROM_GROUP, _filter->storage_id, __media_db_get_group_name(group), group_name);
                else
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_FROM_GROUP, DB_VIEW_MEDIA, __media_db_get_group_name(group), group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_FROM_GROUP, DB_VIEW_MEDIA, __media_db_get_group_name(group), group_name);
+
 
-               SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
        } else {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
                        snprintf(select_query, sizeof(select_query), SELECT_MEDIA_FROM_GROUP_NULL, _filter->storage_id, __media_db_get_group_name(group));
@@ -1523,11 +1517,11 @@ int _media_db_get_media_group_item(const char *group_name, filter_h filter, medi
 #else
        if (group_name != NULL) {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_FROM_GROUP_BY_STORAGE_ID, __media_db_get_group_name(group), group_name, _filter->storage_id);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_FROM_GROUP_BY_STORAGE_ID, __media_db_get_group_name(group), group_name, _filter->storage_id);
                else
-                       tmp_query = sqlite3_mprintf(SELECT_MEDIA_FROM_GROUP, __media_db_get_group_name(group), group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_MEDIA_FROM_GROUP, __media_db_get_group_name(group), group_name);
+
 
-               SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
        } else {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
                        snprintf(select_query, sizeof(select_query), SELECT_MEDIA_FROM_GROUP_NULL_BY_STORAGE_ID, __media_db_get_group_name(group), _filter->storage_id);
@@ -1536,15 +1530,9 @@ int _media_db_get_media_group_item(const char *group_name, filter_h filter, medi
        }
 #endif
        ret = __media_db_make_query(filter, &condition_query, &option_query);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               if (tmp_query != NULL)
-                       SQLITE3_SAFE_FREE(tmp_query);
-               return ret;
-       }
+       media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
-       if (tmp_query != NULL)
-               SQLITE3_SAFE_FREE(tmp_query);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -1642,7 +1630,6 @@ int _media_db_get_pvr_group_item(const char *group_name, filter_h filter, media_
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        char select_query[DEFAULT_QUERY_SIZE] = {0, };
-       char *tmp_query = NULL;
        char *condition_query = NULL;
        char *option_query = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -1652,11 +1639,11 @@ int _media_db_get_pvr_group_item(const char *group_name, filter_h filter, media_
 
        if (group_name != NULL) {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
-                       tmp_query = sqlite3_mprintf(SELECT_PVR_FROM_GROUP_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group), group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_PVR_FROM_GROUP_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group), group_name);
                else
-                       tmp_query = sqlite3_mprintf(SELECT_PVR_FROM_GROUP, __media_db_get_group_name(group), group_name);
+                       sqlite3_snprintf(sizeof(select_query), select_query, SELECT_PVR_FROM_GROUP, __media_db_get_group_name(group), group_name);
+
 
-               SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query));
        } else {
                if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
                        snprintf(select_query, sizeof(select_query), SELECT_PVR_FROM_GROUP_NULL_BY_STORAGE_ID, _filter->storage_id, __media_db_get_group_name(group));
@@ -1665,15 +1652,9 @@ int _media_db_get_pvr_group_item(const char *group_name, filter_h filter, media_
        }
 
        ret = __media_db_make_query(filter, &condition_query, &option_query);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               if (tmp_query != NULL)
-                       sqlite3_free(tmp_query);
-               return ret;
-       }
+       media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
-       if (tmp_query != NULL)
-               sqlite3_free(tmp_query);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);