summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/jpeg2000dec.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index 18346f9e59..cc154c3522 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -715,6 +715,13 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s,
}
cblk->length += cblk->lengthinc;
cblk->lengthinc = 0;
+
+ if (cblk->length > sizeof(cblk->data)) {
+ av_log(s->avctx, AV_LOG_ERROR,
+ "Block length %d > data size %zd\n",
+ cblk->length, sizeof(cblk->data));
+ return AVERROR_INVALIDDATA;
+ }
}
}
return 0;