[FFmpeg-devel] [PATCH 1/4] avcodec/hevcdec: Fix memleak of a53_caption

James Almer jamrial at gmail.com
Tue Jul 2 01:11:50 EEST 2019


On 7/1/2019 11:24 AM, Michael Niedermayer wrote:
> On Sun, Jun 30, 2019 at 11:18:55PM -0300, James Almer wrote:
>> On 6/30/2019 10:43 PM, James Almer wrote:
>>> On 6/30/2019 7:16 PM, Michael Niedermayer wrote:
>>>> Fixes: 15295/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5675655187922944
>>>>
>>>> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
>>>> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
>>>> ---
>>>>  libavcodec/hevcdec.c | 2 ++
>>>>  1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
>>>> index 515b346535..b5d918d07d 100644
>>>> --- a/libavcodec/hevcdec.c
>>>> +++ b/libavcodec/hevcdec.c
>>>> @@ -3331,6 +3331,8 @@ static av_cold int hevc_decode_free(AVCodecContext *avctx)
>>>>  
>>>>      ff_h2645_packet_uninit(&s->pkt);
>>>>  
>>>> +    ff_hevc_reset_sei(&s->sei);
>>>> +
>>>>      return 0;
>>>>  }
>>>
>>> LGTM.
>>
>> You could also add it to hevc_decode_flush() while at it.
> 
> will post a patch once i (lightly) tested it

Do you have hevc samples with closed captions? I'm not sure if there's a
case where one such caption would not be attached to the frame (And thus
removed from the decoder context) before a call to
avcodec_flush_buffers() takes place. Maybe some sample where slices are
in different packets.

For that matter, h264 seems to handle closed captions a lot better than
hevc. It uses AVBufferRefs to keep them in sync between frame thread
contexts, and it also makes sure to reset frame-specific SEI state on
all frames and on flushing, all things hevc currently doesn't.
Implementing the former should be trivial, but the latter isn't as slice
handling is different.

> 
> thx
> 
> [...]
> 
> 
> _______________________________________________
> 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