Improve parent path validation function 35/226835/1
authorMinje Ahn <minje.ahn@samsung.com>
Fri, 6 Mar 2020 01:40:52 +0000 (10:40 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Fri, 6 Mar 2020 01:40:52 +0000 (10:40 +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: I06c4b4c9a8c4a828f11aff9d2ac19089f797daad
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/common/media-svc-media-folder.c

index 572f7ce..7097df6 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();