Michael Niedermayer: > Fixes: null pointer dereference > Fixes: > 17828/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5645915116797952 > > Found-by: continuous fuzzing process > https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > --- > libavformat/subtitles.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/libavformat/subtitles.c b/libavformat/subtitles.c > index 659c99d1cf..ded1b910c5 100644 > --- a/libavformat/subtitles.c > +++ b/libavformat/subtitles.c > @@ -194,9 +194,10 @@ void ff_subtitles_queue_finalize(void *log_ctx, > FFDemuxSubtitlesQueue *q) > { > int i; > > - qsort(q->subs, q->nb_subs, sizeof(*q->subs), > - q->sort == SUB_SORT_TS_POS ? cmp_pkt_sub_ts_pos > - : cmp_pkt_sub_pos_ts); > + if (q->nb_subs) > + qsort(q->subs, q->nb_subs, sizeof(*q->subs), > + q->sort == SUB_SORT_TS_POS ? cmp_pkt_sub_ts_pos > + : cmp_pkt_sub_pos_ts); > for (i = 0; i < q->nb_subs; i++) > if (q->subs[i].duration < 0 && i < q->nb_subs - 1) > q->subs[i].duration = q->subs[i + 1].pts - q->subs[i].pts; > Why not simply use if (!q->nb_subs) return; After all, neither the loop nor drop_dups() does anything if there are no subs. And you should mention ticket #8147.
- Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".