From bed26671a8a59d9133241192e6414b99e4318f20 Mon Sep 17 00:00:00 2001 From: "jiyong.min" Date: Wed, 10 Jun 2020 12:05:48 +0900 Subject: [PATCH] add to typecasting 'File' because crash occur for TC - Using 'delete _metadata->file' make crash. Change-Id: Id1d3a318ebdc270d0ae976acc0e6043748104384 --- src/metadata_editor.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/metadata_editor.cpp b/src/metadata_editor.cpp index 6dbe835..24b8d64 100755 --- a/src/metadata_editor.cpp +++ b/src/metadata_editor.cpp @@ -1505,8 +1505,31 @@ extern "C" int metadata_editor_destroy(metadata_editor_h metadata) metadata_editor_retvm_if(!_metadata, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid metadata"); - if (_metadata->file) - delete _metadata->file; + switch (_metadata->filetype) { + case METADATA_EDITOR_FORMAT_MP3: + delete dynamic_cast(_metadata->file); + break; + case METADATA_EDITOR_FORMAT_MP4: + delete dynamic_cast(_metadata->file); + break; +#if 0 + case METADATA_EDITOR_FORMAT_FLAC: + delete dynamic_cast(_metadata->file); + break; + case METADATA_EDITOR_FORMAT_OGG_VORBIS: + delete dynamic_cast(_metadata->file); + break; + case METADATA_EDITOR_FORMAT_OGG_FLAC: + delete dynamic_cast(_metadata->file); + break; + case METADATA_EDITOR_FORMAT_WAV: + delete dynamic_cast(_metadata->file); + break; +#endif + default: + metadata_editor_error("Wrong file type"); + return METADATA_EDITOR_ERROR_INVALID_PARAMETER; + } g_free(_metadata); -- 2.34.1