From 610a2d7b1b13442eb7e9023c19065e2980ffe1d8 Mon Sep 17 00:00:00 2001 From: hj kim Date: Thu, 29 Nov 2018 18:20:56 +0900 Subject: [PATCH] Add parameter checking code Change-Id: If26c1acb68ecd5682acbcd483163b1cf5744edb3 --- src/common/media-svc-db-utils.c | 4 ++++ src/common/media-svc-media.c | 45 ++++++++++++++++++++++++++++++++--------- src/common/media-svc-util.c | 2 ++ src/common/media-svc.c | 29 +------------------------- 4 files changed, 43 insertions(+), 37 deletions(-) diff --git a/src/common/media-svc-db-utils.c b/src/common/media-svc-db-utils.c index 1ef80f8..15c4c89 100755 --- a/src/common/media-svc-db-utils.c +++ b/src/common/media-svc-db-utils.c @@ -1388,6 +1388,8 @@ int _media_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3 { int err = -1; + media_svc_retvm_if(handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "handle is NULL"); + media_svc_sec_debug("[SQL query] : %s", sql_str); if (!STRING_VALID(sql_str)) { @@ -1422,6 +1424,8 @@ int _media_svc_sql_prepare_to_step_simple(sqlite3 *handle, const char *sql_str, { int err = -1; + media_svc_retvm_if(handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "handle is NULL"); + media_svc_sec_debug("[SQL query] : %s", sql_str); if (!STRING_VALID(sql_str)) { diff --git a/src/common/media-svc-media.c b/src/common/media-svc-media.c index 98070f6..4db889b 100755 --- a/src/common/media-svc-media.c +++ b/src/common/media-svc-media.c @@ -66,6 +66,9 @@ int _media_svc_count_record_with_path(sqlite3 *handle, const char *storage_id, c char *sql = sqlite3_mprintf("SELECT count(*) FROM '%q' WHERE path='%q'", storage_id, path); + media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); + media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "Path is NULL"); + ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt); media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret); @@ -367,8 +370,11 @@ int _media_svc_get_thumbnail_path_by_path(sqlite3 *handle, const char *path, cha { int ret = MS_MEDIA_ERR_NONE; sqlite3_stmt *sql_stmt = NULL; + char *sql = NULL; - char *sql = sqlite3_mprintf("SELECT thumbnail_path FROM '%q' WHERE path='%q'", MEDIA_SVC_DB_VIEW_MEDIA, path); + media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); + + sql = sqlite3_mprintf("SELECT thumbnail_path FROM '%q' WHERE path='%q'", MEDIA_SVC_DB_VIEW_MEDIA, path); ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt); @@ -392,8 +398,12 @@ int _media_svc_get_media_type_by_path(sqlite3 *handle, const char *storage_id, c { int ret = MS_MEDIA_ERR_NONE; sqlite3_stmt *sql_stmt = NULL; + char *sql = NULL; - char *sql = sqlite3_mprintf("SELECT media_type FROM '%q' WHERE path='%q'", storage_id, path); + media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); + media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); + + sql = sqlite3_mprintf("SELECT media_type FROM '%q' WHERE path='%q'", storage_id, path); ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt); @@ -412,7 +422,12 @@ int _media_svc_get_media_type_by_path(sqlite3 *handle, const char *storage_id, c int _media_svc_delete_item_by_path(const char *storage_id, const char *path, bool stack_query, uid_t uid) { int ret = MS_MEDIA_ERR_NONE; - char *sql = sqlite3_mprintf("DELETE FROM '%q' WHERE path='%q';", storage_id, path); + char *sql = NULL; + + media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); + media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); + + sql = sqlite3_mprintf("DELETE FROM '%q' WHERE path='%q';", storage_id, path); if (!stack_query) { ret = _media_svc_sql_query(sql, uid); @@ -485,8 +500,14 @@ int _media_svc_delete_invalid_items(sqlite3 *handle, const char *storage_id, ms_ int _media_svc_update_item_validity(const char *storage_id, const char *path, int validity, bool stack_query, uid_t uid) { int ret = MS_MEDIA_ERR_NONE; + char *sql = NULL; + + media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); + media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); - char *sql = sqlite3_mprintf("UPDATE '%q' SET validity=%d WHERE path= '%q';", storage_id, validity, path); + media_svc_debug("path=[%s], validity=[%d]", path, validity); + + sql = sqlite3_mprintf("UPDATE '%q' SET validity=%d WHERE path= '%q';", storage_id, validity, path); if (!stack_query) { ret = _media_svc_sql_query(sql, uid); @@ -651,10 +672,9 @@ int _media_svc_get_noti_info(sqlite3 *handle, const char *storage_id, const char char *sql = NULL; int is_root_dir = FALSE; - if (item == NULL) { - media_svc_error("invalid parameter"); - return MS_MEDIA_ERR_INVALID_PARAMETER; - } + media_svc_retvm_if(item == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "item is NULL"); + media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); + media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); if (update_item == MS_MEDIA_ITEM_FILE) sql = sqlite3_mprintf("SELECT media_uuid, media_type, mime_type FROM '%q' WHERE path=%Q", storage_id, path); @@ -704,7 +724,14 @@ int _media_svc_get_fileinfo_by_path(sqlite3 *handle, const char *storage_id, con { int ret = MS_MEDIA_ERR_NONE; sqlite3_stmt *sql_stmt = NULL; - char *sql = sqlite3_mprintf("SELECT modified_time, size FROM '%q' WHERE path='%q'", storage_id, path); + char *sql = NULL; + + media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); + media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); + media_svc_retvm_if(modified_time == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "modified_time is NULL"); + media_svc_retvm_if(size == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "size is NULL"); + + sql = sqlite3_mprintf("SELECT modified_time, size FROM '%q' WHERE path='%q'", storage_id, path); ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt); diff --git a/src/common/media-svc-util.c b/src/common/media-svc-util.c index 39cbdaa..e86f80d 100755 --- a/src/common/media-svc-util.c +++ b/src/common/media-svc-util.c @@ -670,6 +670,8 @@ int _media_svc_remove_file(const char *path) { int result = -1; + media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); + result = remove(path); if (result == 0) { media_svc_debug("success to remove file"); diff --git a/src/common/media-svc.c b/src/common/media-svc.c index 6ae6450..a384284 100755 --- a/src/common/media-svc.c +++ b/src/common/media-svc.c @@ -82,8 +82,6 @@ int media_svc_disconnect(MediaSvcHandle *handle) media_svc_debug_fenter(); - media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL"); - return media_db_disconnect(db_handle); } @@ -93,8 +91,6 @@ int media_svc_cleanup_db(MediaSvcHandle *handle, uid_t uid) media_svc_debug_fenter(); - media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL"); - return _media_svc_do_cleanup(db_handle, uid); } @@ -216,15 +212,9 @@ ERROR: int media_svc_get_file_info(MediaSvcHandle *handle, const char *storage_id, const char *path, time_t *modified_time, unsigned long long *size) { - int ret = MS_MEDIA_ERR_NONE; sqlite3 *db_handle = (sqlite3 *)handle; - media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL"); - media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); - - ret = _media_svc_get_fileinfo_by_path(db_handle, storage_id, path, modified_time, size); - - return ret; + return _media_svc_get_fileinfo_by_path(db_handle, storage_id, path, modified_time, size); } int media_svc_check_item_exist_by_path(MediaSvcHandle *handle, const char *storage_id, const char *path) @@ -233,10 +223,6 @@ int media_svc_check_item_exist_by_path(MediaSvcHandle *handle, const char *stora sqlite3 *db_handle = (sqlite3 *)handle; int count = -1; - media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL"); - media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); - media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "Path is NULL"); - ret = _media_svc_count_record_with_path(db_handle, storage_id, path, &count); media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret); @@ -570,11 +556,6 @@ int media_svc_set_item_validity(const char *storage_id, const char *path, int va { int ret = MS_MEDIA_ERR_NONE; - media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); - media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); - - media_svc_debug("path=[%s], validity=[%d]", path, validity); - if (g_media_svc_item_validity_data_cnt == 1) { return _media_svc_update_item_validity(storage_id, path, validity, FALSE, uid); @@ -613,10 +594,6 @@ int media_svc_delete_item_by_path(MediaSvcHandle *handle, const char *storage_id media_svc_debug_fenter(); - media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL"); - media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); - media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL"); - int media_type = -1; ret = _media_svc_get_media_type_by_path(db_handle, storage_id, path, &media_type); media_svc_retv_if((ret != MS_MEDIA_ERR_NONE), ret); @@ -670,7 +647,6 @@ int media_svc_delete_invalid_items_in_storage(MediaSvcHandle *handle, const char media_svc_debug_fenter(); - media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL"); media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); media_svc_retvm_if(__media_svc_check_storage(storage_type) != TRUE, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid storage_type"); @@ -690,7 +666,6 @@ int media_svc_set_folder_items_validity(MediaSvcHandle *handle, const char *stor { sqlite3 *db_handle = (sqlite3 *)handle; - media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL"); media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL"); media_svc_retvm_if(!STRING_VALID(folder_path), MS_MEDIA_ERR_INVALID_PARAMETER, "folder_path is NULL"); @@ -796,8 +771,6 @@ int media_svc_refresh_item(MediaSvcHandle *handle, const char *storage_id, ms_us int media_svc_request_update_db(const char *db_query, uid_t uid) { - media_svc_retvm_if(!STRING_VALID(db_query), MS_MEDIA_ERR_INVALID_PARAMETER, "db_query is NULL"); - return _media_svc_sql_query(db_query, uid); } -- 2.7.4