Improve extension check function 98/259198/7 accepted/tizen/6.5/unified/20211028.100544 accepted/tizen/unified/20210607.124349 submit/tizen/20210606.231136 submit/tizen_6.5/20211028.161801 tizen_6.5.m2_release
authorMinje Ahn <minje.ahn@samsung.com>
Wed, 2 Jun 2021 04:58:03 +0000 (13:58 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Fri, 4 Jun 2021 02:14:49 +0000 (11:14 +0900)
Change-Id: I7f9d63d370738046c970b98b0d01e6a55b88c341
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/thumbnail_util.c

index e9fee216e9a0b6d70d16c6ac65e1903de0677587..069cbce0f797d3fb66eb0158b08f7cf5722573ac 100644 (file)
@@ -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;
                }