[FFmpeg-devel] [PATCH] ffprobe: fix infinite loop in subtitle decoding
Marton Balint
cus at passwd.hu
Mon Mar 12 22:55:40 EET 2018
On Mon, 12 Mar 2018, wm4 wrote:
> On Sun, 11 Mar 2018 18:12:05 +0100
> Marton Balint <cus at passwd.hu> wrote:
>
>> Fixes a regression since 2a88ebd096f3c748a2d99ed1b60b22879b3c567c which caused
>> an infinite loop in the subtitle decoding.
>>
>> Fixes ticket #6796.
>>
>> Signed-off-by: Marton Balint <cus at passwd.hu>
>> ---
>> fftools/ffprobe.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
>> index 967adbe30c..d8032bfddf 100644
>> --- a/fftools/ffprobe.c
>> +++ b/fftools/ffprobe.c
>> @@ -2275,7 +2275,8 @@ static av_always_inline int process_frame(WriterContext *w,
>> break;
>>
>> case AVMEDIA_TYPE_SUBTITLE:
>> - ret = avcodec_decode_subtitle2(dec_ctx, &sub, &got_frame, pkt);
>> + if (*packet_new || !pkt->data)
>> + ret = avcodec_decode_subtitle2(dec_ctx, &sub, &got_frame, pkt);
>> *packet_new = 0;
>> break;
>> default:
>
> LGTM, but not sure why the "!pkt->data" check would be needed. The
> flush packet sent at the end will have *packet_new==1.
You're right, pushed without the !pkt->data check.
Thanks,
Marton
More information about the ffmpeg-devel
mailing list