diff options
-rwxr-xr-x | src/metadata_extractor.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/metadata_extractor.c b/src/metadata_extractor.c index 81d5660..18d23ad 100755 --- a/src/metadata_extractor.c +++ b/src/metadata_extractor.c @@ -1503,6 +1503,10 @@ int metadata_extractor_get_metadata(metadata_extractor_h metadata, metadata_extr if (is_string) { if ((s_value != NULL) && (strlen(s_value) > 0)) { *value = strdup(s_value); + /*Only use strdup in video_codec and audio_codec */ + if (attribute == METADATA_VIDEO_CODEC || attribute == METADATA_AUDIO_CODEC) + SAFE_FREE(s_value); + if (*value == NULL) { metadata_extractor_error("OUT_OF_MEMORY(0x%08x)", METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY); return METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY; |