[FFmpeg-devel] [PATCH] avutil/dict: Deduplicate freeing dictionary

epirat07 at gmail.com epirat07 at gmail.com
Thu Mar 7 11:47:15 EET 2024


On 5 Mar 2024, at 16:53, Andreas Rheinhardt wrote:

> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavutil/dict.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/libavutil/dict.c b/libavutil/dict.c
> index 7f23d5336a..6fb09399ba 100644
> --- a/libavutil/dict.c
> +++ b/libavutil/dict.c
> @@ -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;
>  }
>
> -- 
> 2.40.1

LGTM

>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list