X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Frealtextdec.c;h=22fc58bc99846a208ca681c358420ed706e1a1fc;hb=b9fff6e15e73dc995695db9be8db084238cca14c;hp=618d4f78ecfce5ff59c573fec663143fd0b0d72d;hpb=92219ef4ac01b00e630b39cb19e8fbd17fdb63d0;p=ffmpeg diff --git a/libavformat/realtextdec.c b/libavformat/realtextdec.c index 618d4f78ecf..22fc58bc998 100644 --- a/libavformat/realtextdec.c +++ b/libavformat/realtextdec.c @@ -35,7 +35,7 @@ typedef struct { FFDemuxSubtitlesQueue q; } RealTextContext; -static int realtext_probe(AVProbeData *p) +static int realtext_probe(const AVProbeData *p) { char buf[7]; FFTextReader tr; @@ -45,16 +45,16 @@ static int realtext_probe(AVProbeData *p) return !av_strncasecmp(buf, "codecpar->extradata) { + res = AVERROR_INVALIDDATA; + goto end; + } if (p) duration = read_ts(p); st->codecpar->extradata = av_strdup(buf.str); @@ -119,6 +123,8 @@ static int realtext_read_header(AVFormatContext *s) end: av_bprint_finalize(&buf, NULL); + if (res < 0) + ff_subtitles_queue_clean(&rt->q); return res; } @@ -143,7 +149,7 @@ static int realtext_read_close(AVFormatContext *s) return 0; } -AVInputFormat ff_realtext_demuxer = { +const AVInputFormat ff_realtext_demuxer = { .name = "realtext", .long_name = NULL_IF_CONFIG_SMALL("RealText subtitle format"), .priv_data_size = sizeof(RealTextContext),