Browse Source

avutil/dict: Use av_freep() to avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.6
Michael Niedermayer 10 years ago
parent
commit
336bb3f706
1 changed files with 5 additions and 5 deletions
  1. +5
    -5
      libavutil/dict.c

+ 5
- 5
libavutil/dict.c View File

@@ -120,7 +120,7 @@ int av_dict_set(AVDictionary **pm, const char *key, const char *value,
m->count++;
}
if (!m->count) {
av_free(m->elems);
av_freep(&m->elems);
av_freep(pm);
}

@@ -128,7 +128,7 @@ int av_dict_set(AVDictionary **pm, const char *key, const char *value,

err_out:
if (m && !m->count) {
av_free(m->elems);
av_freep(&m->elems);
av_freep(pm);
}
if (flags & AV_DICT_DONT_STRDUP_KEY) av_free((void*)key);
@@ -197,10 +197,10 @@ void av_dict_free(AVDictionary **pm)

if (m) {
while (m->count--) {
av_free(m->elems[m->count].key);
av_free(m->elems[m->count].value);
av_freep(&m->elems[m->count].key);
av_freep(&m->elems[m->count].value);
}
av_free(m->elems);
av_freep(&m->elems);
}
av_freep(pm);
}


Loading…
Cancel
Save