]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/dict.c
Merge commit '570d4b21863b6254d6bbca9c528bede471bb4478'
[ffmpeg] / libavutil / dict.c
index f7aa7094ad00c50635a84696bf051b18f36c1826..358958cdc5eb36607d51bb7896ae615d5c161bf2 100644 (file)
@@ -76,8 +76,11 @@ int av_dict_set(AVDictionary **pm, const char *key, const char *value,
         m = *pm = av_mallocz(sizeof(*m));
 
     if (tag) {
-        if (flags & AV_DICT_DONT_OVERWRITE)
+        if (flags & AV_DICT_DONT_OVERWRITE) {
+            if (flags & AV_DICT_DONT_STRDUP_KEY) av_free(key);
+            if (flags & AV_DICT_DONT_STRDUP_VAL) av_free(value);
             return 0;
+        }
         if (flags & AV_DICT_APPEND)
             oldval = tag->value;
         else