summaryrefslogtreecommitdiff
path: root/libavcodec/diracdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-05-05 22:01:58 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-05-05 22:01:58 +0200
commit5a455dd011151fd7e3f8aced745b206ca1413d29 (patch)
tree35754426c5bc8a5858c60719f416178723e6ac9e /libavcodec/diracdec.c
parent984f50deb2d48f6844d65e10991b996a6d29e87c (diff)
avcodec/diracdec: Move buf[] read after size check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/diracdec.c')
-rw-r--r--libavcodec/diracdec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index 0453a97928..4230a06e32 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -1815,12 +1815,14 @@ static int dirac_decode_data_unit(AVCodecContext *avctx, const uint8_t *buf, int
{
DiracContext *s = avctx->priv_data;
DiracFrame *pic = NULL;
- int ret, i, parse_code = buf[4];
+ int ret, i, parse_code;
unsigned tmp;
if (size < DATA_UNIT_HEADER_SIZE)
return -1;
+ parse_code = buf[4];
+
init_get_bits(&s->gb, &buf[13], 8*(size - DATA_UNIT_HEADER_SIZE));
if (parse_code == pc_seq_header) {