aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/8svx.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-09-06 18:43:55 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2011-09-22 14:11:34 -0400
commit0ac3b8fc4aeb1755717f44482f3236134a5b8405 (patch)
treeff799b6136e7cd3a8731c20c5dcf49f9e51908ea /libavcodec/8svx.c
parente3718784160a5bfed8de9622afda19313ec7ca50 (diff)
downloadffmpeg-0ac3b8fc4aeb1755717f44482f3236134a5b8405.tar.gz
8svx: check packet size before reading the initial sample value.
Diffstat (limited to 'libavcodec/8svx.c')
-rw-r--r--libavcodec/8svx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/8svx.c b/libavcodec/8svx.c
index adface26ce..0f53d39a8d 100644
--- a/libavcodec/8svx.c
+++ b/libavcodec/8svx.c
@@ -74,6 +74,10 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data, int *data_si
int consumed = buf_size;
if(avctx->frame_number == 0) {
+ if (buf_size < 2) {
+ av_log(avctx, AV_LOG_ERROR, "packet size is too small\n");
+ return AVERROR(EINVAL);
+ }
esc->fib_acc = (int8_t)buf[1] + 128;
buf_size -= 2;
buf += 2;