From: Minje Ahn Date: Thu, 7 Jul 2016 01:06:20 +0000 (+0900) Subject: Fix sdcard issue X-Git-Tag: accepted/tizen/wearable/20160707.043302 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a396a2e468c64f9216525b5deb5daffe6d3d7043;p=platform%2Fcore%2Fmultimedia%2Flibmedia-service.git Fix sdcard issue Change-Id: Ib9464072afd091dd540961effe9fb11fc9c9e1e0 Signed-off-by: Minje Ahn --- diff --git a/packaging/libmedia-service.spec b/packaging/libmedia-service.spec index ee4e3b2..05dff25 100644 --- a/packaging/libmedia-service.spec +++ b/packaging/libmedia-service.spec @@ -1,6 +1,6 @@ Name: libmedia-service Summary: Media information service library for multimedia applications -Version: 0.2.73 +Version: 0.2.74 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 and public domain diff --git a/src/common/media-svc-media-folder.c b/src/common/media-svc-media-folder.c index 119a88b..a1a89b1 100755 --- a/src/common/media-svc-media-folder.c +++ b/src/common/media-svc-media-folder.c @@ -37,17 +37,36 @@ static int __media_svc_is_root_path(const char *folder_path, bool *is_root, uid_ media_svc_retvm_if(!STRING_VALID(folder_path), MS_MEDIA_ERR_INVALID_PARAMETER, "folder_path is NULL"); *is_root = FALSE; - + int i = 0; + int start_len = 0; + int path_len = 0; char *internal_path = _media_svc_get_path(uid); - if ((STRING_VALID(internal_path) && (strcmp(folder_path, internal_path) == 0)) || - (STRING_VALID(MEDIA_ROOT_PATH_SDCARD) && strcmp(folder_path, MEDIA_ROOT_PATH_SDCARD) == 0) || - (STRING_VALID(MEDIA_ROOT_PATH_CLOUD) && strcmp(folder_path, MEDIA_ROOT_PATH_CLOUD) == 0)) { + if (STRING_VALID(internal_path) && (strcmp(folder_path, internal_path) == 0)) { media_svc_debug("ROOT PATH [%s]", folder_path); *is_root = TRUE; - } + SAFE_FREE(internal_path); + + return MS_MEDIA_ERR_NONE; + } SAFE_FREE(internal_path); + + if ((STRING_VALID(MEDIA_ROOT_PATH_SDCARD) && strncmp(folder_path, MEDIA_ROOT_PATH_SDCARD, strlen(MEDIA_ROOT_PATH_SDCARD)) == 0) || + (STRING_VALID(MEDIA_ROOT_PATH_CLOUD) && strncmp(folder_path, MEDIA_ROOT_PATH_CLOUD, strlen(MEDIA_ROOT_PATH_CLOUD)) == 0)) { + + start_len = strlen(MEDIA_ROOT_PATH_SDCARD); + path_len = strlen(folder_path); + + for (i = start_len; i < path_len; i++) { + if (folder_path[i] == '/') + return MS_MEDIA_ERR_NONE; + } + + media_svc_debug("ROOT PATH [%s]", folder_path); + *is_root = TRUE; + } + return MS_MEDIA_ERR_NONE; }