diff --git a/libavformat/qoadec.c b/libavformat/qoadec.c index 9cce5157fc..a9632c46c3 100644 --- a/libavformat/qoadec.c +++ b/libavformat/qoadec.c @@ -41,6 +41,7 @@ static int qoa_read_header(AVFormatContext *s) { AVIOContext *pb = s->pb; AVStream *st; + int ret; st = avformat_new_stream(s, NULL); if (!st) @@ -52,7 +53,9 @@ static int qoa_read_header(AVFormatContext *s) st->duration = avio_rb32(pb); st->start_time = 0; - ffio_ensure_seekback(pb, 4); + ret = ffio_ensure_seekback(pb, 4); + if (ret < 0) + return ret; st->codecpar->ch_layout.nb_channels = avio_r8(pb); if (st->codecpar->ch_layout.nb_channels == 0) return AVERROR_INVALIDDATA;