[FFmpeg-devel] [PATCH 1/7] avformat/dss: Use AV_DICT_DONT_STRDUP_VAL to save a malloc+memcpy

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Mon Nov 18 10:47:00 EET 2019


Andreas Rheinhardt:
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
>  libavformat/dss.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/libavformat/dss.c b/libavformat/dss.c
> index d7f9cafe47..8bc6af134e 100644
> --- a/libavformat/dss.c
> +++ b/libavformat/dss.c
> @@ -103,15 +103,11 @@ static int dss_read_metadata_string(AVFormatContext *s, unsigned int offset,
>  
>      ret = avio_read(s->pb, value, size);
>      if (ret < size) {
> -        ret = ret < 0 ? ret : AVERROR_EOF;
> -        goto exit;
> +        av_free(value);
> +        return ret < 0 ? ret : AVERROR_EOF;
>      }
>  
> -    ret = av_dict_set(&s->metadata, key, value, 0);
> -
> -exit:
> -    av_free(value);
> -    return ret;
> +    return av_dict_set(&s->metadata, key, value, AV_DICT_DONT_STRDUP_VAL);
>  }
>  
>  static int dss_read_header(AVFormatContext *s)
> 

Ping.

- Andreas


More information about the ffmpeg-devel mailing list