[FFmpeg-devel] [PATCH v3] avcodec/libvpxenc: fix potential memory leak.

Wonkap Jang wonkap at google.com
Wed Feb 17 19:02:02 EET 2021


On Wed, Feb 17, 2021 at 8:52 AM Wonkap Jang <wonkap at google.com> wrote:

> Hi Nicolas,
>
> On Wed, Feb 17, 2021 at 3:00 AM Nicolas George <george at nsup.org> wrote:
>
>> Wonkap Jang (12021-02-16):
>> > While parsing ref_frame_config, AVdictionary needs to be manually
>> > deallocated.
>> > ---
>> >  libavcodec/libvpxenc.c | 19 ++++++++++++-------
>> >  1 file changed, 12 insertions(+), 7 deletions(-)
>>
>> NAK.
>>
>> This code is all wrong, it looks like Java or Python, it should not be
>> using a dictionary in the first place, even less a dictionary stored in
>> the context. Just iterate over the key=value pairs of the string without
>> allocating all of them longer than necessary.
>>
>> Regards,
>>
>> --
>>   Nicolas George
>> _______________________________________________
>> 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".
>
>
> I'll change it to use a local variable.
>
> But, not sure what you mean by "not using the dictionary in the first
> place"..
> Could you explain  how to do this? I need to parse multiple variables that
> have multiple values that have variable number of entries depending on th
> enumber of spatial layers.
>
> I appreciate your help.
>
> Thank you,
>
> Wonkap
>
>
Or are you saying after getting the string with en->value, I should just
parse through the string without dictionary?
Not quite familiar with using AVDictionary..
My purpose here is not to envoke av_dict_set for each parameter, but rather
get all parameters in one call (using "ref-frame-config"), and parse
through each parameter internally. And, in order to do that, I had to parse
the whole string into a key-value pairs, and then recurse through them.

Thanks,

-Wonkap


More information about the ffmpeg-devel mailing list