summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/metadata_extractor.c4
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;