[FFmpeg-devel] [PATCH V1 02/12] lavc/libkvazaar: fix memory leak after av_dict_parse_string fail

mypopy at gmail.com mypopy at gmail.com
Thu Jan 2 03:22:03 EET 2020


On Thu, Jan 2, 2020 at 12:46 AM Marton Balint <cus at passwd.hu> wrote:
>
>
>
> On Wed, 1 Jan 2020, James Almer wrote:
>
> > On 1/1/2020 2:20 AM, Jun Zhao wrote:
> >> From: Jun Zhao <barryjzhao at tencent.com>
> >>
> >> In case of failure, all the successfully set entries are stored in
> >> *pm. We need to manually free the created dictionary to avoid
> >> memory leak.
> >>
> >> Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
> >> ---
> >>  libavcodec/libkvazaar.c |    2 +-
> >>  1 files changed, 1 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c
> >> index a89ca7f..02bcae3 100644
> >> --- a/libavcodec/libkvazaar.c
> >> +++ b/libavcodec/libkvazaar.c
> >> @@ -110,8 +110,8 @@ static av_cold int libkvazaar_init(AVCodecContext
*avctx)
> >>                             entry->key, entry->value);
> >>                  }
> >>              }
> >> -            av_dict_free(&dict);
> >>          }
> >> +        av_dict_free(&dict);
> >>      }
> >>
> >>      ctx->encoder = enc = api->encoder_open(cfg);
> >
> > There's a patchset by Marton Balint changing this code in all the same
> > modules as in this patchset, by replacing it all with a simple
> > av_dict_copy() call.
> >
> > http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2019-December/254805.html
> > and every following patch.
>
> Yeah, although not every patch is covered, because libkvazaar for example
> uses comma(,) separator instead of colon(:) spearator, so it could not be
> converted to a simple AV_OPT_TYPE_DICT.
>
> Probably I should apply my pending patches and then you should rebase this
> series and keep the ones which are still relevant.
>
Ok, I will rebase the patchset after you apply the pending AV_OPT_TYPE_DICT
patches.


More information about the ffmpeg-devel mailing list