Improve parent path validation function 16/226716/3
authorMinje Ahn <minje.ahn@samsung.com>
Thu, 5 Mar 2020 04:48:46 +0000 (13:48 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Thu, 5 Mar 2020 07:20:39 +0000 (16:20 +0900)
Added len +1 to get the external root path.
 - USB root : MEDIA_ROOT_PATH_EXTERNAL/{storage-uuid}/
 - MMC root : MEDIA_ROOT_PATH_EXTERNAL/SDCard{port_num}/

Change-Id: I983f9a69bf3a3434766a511e7724e24e9ddf11fd
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/common/media-svc-media-folder.c

index 80bd0fc..4330793 100755 (executable)
@@ -115,10 +115,8 @@ static int __media_svc_get_and_append_parent_folder(sqlite3 *handle, bool is_dir
 
        if (STRING_VALID(internal_path) && (strncmp(path, internal_path, strlen(internal_path)) == 0))
                next_pos = strlen(internal_path);
-       else if (STRING_VALID(MEDIA_ROOT_PATH_SDCARD) && strncmp(path, MEDIA_ROOT_PATH_SDCARD, strlen(MEDIA_ROOT_PATH_SDCARD)) == 0)
-               next_pos = strlen(MEDIA_ROOT_PATH_SDCARD);
        else if (STRING_VALID(MEDIA_ROOT_PATH_EXTERNAL) && strncmp(path, MEDIA_ROOT_PATH_EXTERNAL, strlen(MEDIA_ROOT_PATH_EXTERNAL)) == 0)
-               next_pos = strlen(MEDIA_ROOT_PATH_EXTERNAL);
+               next_pos = strlen(MEDIA_ROOT_PATH_EXTERNAL) + 1;
        else {
                media_svc_error("Invalid Path");
                media_svc_sec_error("Invalid Path [%s], internal_path [%s]", path, internal_path);
@@ -140,12 +138,6 @@ static int __media_svc_get_and_append_parent_folder(sqlite3 *handle, bool is_dir
                        media_svc_sec_debug("End Path[%s]", dir_path);
                }
 
-               if (STRING_VALID(MEDIA_ROOT_PATH_EXTERNAL) && (g_strcmp0(dir_path, MEDIA_ROOT_PATH_EXTERNAL) == 0)) {
-                       /*To avoid insert MEDIA_ROOT_PATH_EXTERNAL path*/
-                       SAFE_FREE(dir_path);
-                       continue;
-               }
-
                ret = _media_svc_get_folder_id_by_foldername(handle, storage_id, dir_path, tmp_folder_uuid, uid);
                if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                        folder_uuid = _media_info_generate_uuid();