Check file validity before using it 65/234965/1
authorhj kim <backto.kim@samsung.com>
Mon, 1 Jun 2020 06:36:28 +0000 (15:36 +0900)
committerhj kim <backto.kim@samsung.com>
Mon, 1 Jun 2020 06:36:28 +0000 (15:36 +0900)
Change-Id: Id39a29a9a7042af3bb2e23c3cd10edad4d022ff0

src/metadata_editor.cpp

index 90af341..4d8efdc 100755 (executable)
@@ -566,13 +566,8 @@ extern "C" int metadata_editor_create(metadata_editor_h *metadata)
        return METADATA_EDITOR_ERROR_NONE;
 }
 
-extern "C" int metadata_editor_set_path(metadata_editor_h metadata, const char *path)
+static int __check_file_validity(const char *path)
 {
-       int media_type = METADATA_EDITOR_FORMAT_NOTYPE;
-       metadata_editor_s *_metadata = (metadata_editor_s*)metadata;
-       File *_file = NULL;
-
-       metadata_editor_retvm_if(!_metadata, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid metadata");
        metadata_editor_retvm_if(!path, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid path");
 
        metadata_editor_sec_debug("path : [%s]", path);
@@ -587,6 +582,21 @@ extern "C" int metadata_editor_set_path(metadata_editor_h metadata, const char *
                }
        }
 
+       return METADATA_EDITOR_ERROR_NONE;
+}
+
+extern "C" int metadata_editor_set_path(metadata_editor_h metadata, const char *path)
+{
+       int ret = METADATA_EDITOR_ERROR_NONE;
+       int media_type = METADATA_EDITOR_FORMAT_NOTYPE;
+       metadata_editor_s *_metadata = (metadata_editor_s*)metadata;
+       File *_file = NULL;
+
+       metadata_editor_retvm_if(!_metadata, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid metadata");
+
+       ret = __check_file_validity(path);
+       metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, ret, "Invalid path");
+
        media_type = __metadata_editor_get_file_type(path);
 
        if (_metadata->file) {
@@ -1370,8 +1380,11 @@ extern "C" int metadata_editor_append_picture(metadata_editor_h metadata, const
        metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, ret, "fail to __check_metadata_set_parameter() [%d]", ret);
        metadata_editor_retvm_if(!path, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid path");
 
+       ret = __check_file_validity(path);
+       metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, ret, "Invalid path");
+
        ret = __metadata_editor_get_picture_info(path, &picture, &size, &mime_type);
-       metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, METADATA_EDITOR_ERROR_PERMISSION_DENIED, "File does not exist or you have no rights to open it"); //FixMe!. It should return proper error!
+       metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, METADATA_EDITOR_ERROR_PERMISSION_DENIED, "File does not exist or you have no rights to open it");
 
        switch (_metadata->filetype) {
                case METADATA_EDITOR_FORMAT_MP3: