[FFmpeg-cvslog] indeo2: fail if input buffer too small
Alex Converse
git at videolan.org
Wed Sep 21 21:08:32 CEST 2011
ffmpeg | branch: release/0.8 | Alex Converse <alex.converse at gmail.com> | Fri Sep 9 13:26:49 2011 -0700| [9f05400ea8575e04f4853e184a38c1f1006dee10] | committer: Michael Niedermayer
indeo2: fail if input buffer too small
(cherry picked from commit b7ce4f1d1c3add86ece7ca595ea6c4a10b471055)
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9f05400ea8575e04f4853e184a38c1f1006dee10
---
libavcodec/indeo2.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c
index 510f4da..152b7cc 100644
--- a/libavcodec/indeo2.c
+++ b/libavcodec/indeo2.c
@@ -153,6 +153,13 @@ static int ir2_decode_frame(AVCodecContext *avctx,
return -1;
}
+ start = 48; /* hardcoded for now */
+
+ if (start >= buf_size) {
+ av_log(s->avctx, AV_LOG_ERROR, "input buffer size too small (%d)\n", buf_size);
+ return AVERROR_INVALIDDATA;
+ }
+
s->decode_delta = buf[18];
/* decide whether frame uses deltas or not */
@@ -160,7 +167,6 @@ static int ir2_decode_frame(AVCodecContext *avctx,
for (i = 0; i < buf_size; i++)
buf[i] = av_reverse[buf[i]];
#endif
- start = 48; /* hardcoded for now */
init_get_bits(&s->gb, buf + start, (buf_size - start) * 8);
More information about the ffmpeg-cvslog
mailing list