From: hj kim Date: Mon, 1 Jun 2020 06:36:28 +0000 (+0900) Subject: Check file validity before using it X-Git-Tag: submit/tizen/20200602.021203~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ef448de9418e466b0ba1fb787f6e43b046012424;p=platform%2Fcore%2Fapi%2Fmetadata-editor.git Check file validity before using it Change-Id: Id39a29a9a7042af3bb2e23c3cd10edad4d022ff0 --- diff --git a/src/metadata_editor.cpp b/src/metadata_editor.cpp index 90af341..4d8efdc 100755 --- a/src/metadata_editor.cpp +++ b/src/metadata_editor.cpp @@ -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: