From: Minje Ahn Date: Wed, 2 Jun 2021 04:58:03 +0000 (+0900) Subject: Improve extension check function X-Git-Tag: submit/tizen/20210606.231136^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a78f9ce690d875892859bde65d411e64a0dc3bf7;p=platform%2Fcore%2Fapi%2Fthumbnail-util.git Improve extension check function Change-Id: I7f9d63d370738046c970b98b0d01e6a55b88c341 Signed-off-by: Minje Ahn --- diff --git a/src/thumbnail_util.c b/src/thumbnail_util.c index e9fee21..069cbce 100644 --- a/src/thumbnail_util.c +++ b/src/thumbnail_util.c @@ -177,26 +177,6 @@ int thumbnail_util_destroy(thumbnail_h thumb) return THUMBNAIL_UTIL_ERROR_NONE; } -static int __thumbnail_util_get_file_ext(const char *file_path, char *file_ext, int max_len) -{ - int i = 0; - - thumbnail_util_retvm_if(!file_path, THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER, "Invalid path"); - - for (i = (int)strlen(file_path); i >= 0; i--) { - if ((file_path[i] == '.') && (i < (int)strlen(file_path))) { - g_strlcpy(file_ext, &file_path[i + 1], max_len); - return THUMBNAIL_UTIL_ERROR_NONE; - } - - /* meet the dir. no ext */ - if (file_path[i] == '/') - return THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER; - } - - return THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER; -} - static int __thumbnail_util_check_media_type(const char *path, thumbnail_util_media_type_e *type) { int ret = THUMBNAIL_UTIL_ERROR_NONE; @@ -269,13 +249,8 @@ int thumbnail_util_extract_to_file(const char *path, unsigned int width, unsigne if (type == THUMBNAIL_UTIL_IMAGE) { ret = create_image_thumbnail_to_file(path, width, height, thumbnail_path, false); } else { - char ext[255] = { 0 }; - ret = __thumbnail_util_get_file_ext(thumbnail_path, ext, sizeof(ext)); - thumbnail_util_retvm_if(ret != THUMBNAIL_UTIL_ERROR_NONE, ret, "__thumbnail_util_get_file_ext failed"); - - /* If video file, thumbnail extension is only JPEG */ - if (strcasecmp(ext, "JPG") != 0 && strcasecmp(ext, "JPEG") != 0) { - thumbnail_util_error("Wrong file name[%s]", thumbnail_path); + if (!g_regex_match_simple("[^/]\\.jpe?g$", thumbnail_path, G_REGEX_CASELESS, 0)) { + thumbnail_util_error("Unsupported path or extensions [%s]", thumbnail_path); return THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER; }