avutil/dict: Deduplicate freeing dictionary

Reviewed-by: epirat07@gmail.com
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2024-03-05 16:34:07 +01:00
parent 6cf904ac3d
commit dfffe03755
1 changed files with 4 additions and 6 deletions

View File

@ -145,11 +145,8 @@ int av_dict_set(AVDictionary **pm, const char *key, const char *value,
m->elems[m->count].value = copy_value;
m->count++;
} else {
if (!m->count) {
av_freep(&m->elems);
av_freep(pm);
}
av_freep(&copy_key);
err = 0;
goto end;
}
return 0;
@ -157,12 +154,13 @@ int av_dict_set(AVDictionary **pm, const char *key, const char *value,
enomem:
err = AVERROR(ENOMEM);
err_out:
av_free(copy_value);
end:
if (m && !m->count) {
av_freep(&m->elems);
av_freep(pm);
}
av_free(copy_key);
av_free(copy_value);
return err;
}