[FFmpeg-cvslog] idroqdec: Make sure a video stream has been allocated before returning packets
Martin Storsjö
git at videolan.org
Thu Jan 16 22:08:50 CET 2014
ffmpeg | branch: release/0.10 | Martin Storsjö <martin at martin.st> | Mon Sep 16 14:53:15 2013 +0300| [75dabbff8b15700c20e42f79a23fd4338a54e71d] | committer: Luca Barbato
idroqdec: Make sure a video stream has been allocated before returning packets
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable at libav.org
Signed-off-by: Martin Storsjö <martin at martin.st>
(cherry picked from commit bcbe4f3ceb6ee0210d3a401963518906c8b9b230)
Signed-off-by: Luca Barbato <lu_zero at gentoo.org>
(cherry picked from commit de75bc01cda53acfbd9f901639695ade8e650c43)
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=75dabbff8b15700c20e42f79a23fd4338a54e71d
---
libavformat/idroqdec.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libavformat/idroqdec.c b/libavformat/idroqdec.c
index d63c395..ece18b8 100644
--- a/libavformat/idroqdec.c
+++ b/libavformat/idroqdec.c
@@ -142,6 +142,8 @@ static int roq_read_packet(AVFormatContext *s,
break;
case RoQ_QUAD_CODEBOOK:
+ if (roq->video_stream_index < 0)
+ return AVERROR_INVALIDDATA;
/* packet needs to contain both this codebook and next VQ chunk */
codebook_offset = avio_tell(pb) - RoQ_CHUNK_PREAMBLE_SIZE;
codebook_size = chunk_size;
@@ -184,6 +186,11 @@ static int roq_read_packet(AVFormatContext *s,
st->codec->block_align = st->codec->channels * st->codec->bits_per_coded_sample;
}
case RoQ_QUAD_VQ:
+ if (chunk_type == RoQ_QUAD_VQ) {
+ if (roq->video_stream_index < 0)
+ return AVERROR_INVALIDDATA;
+ }
+
/* load up the packet */
if (av_new_packet(pkt, chunk_size + RoQ_CHUNK_PREAMBLE_SIZE))
return AVERROR(EIO);
More information about the ffmpeg-cvslog
mailing list