Browse Source

wmadec: Verify bitstream size makes sense before calling init_get_bits.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
tags/n0.11
Alex Converse 13 years ago
parent
commit
48f1e5212c
1 changed files with 2 additions and 0 deletions
  1. +2
    -0
      libavcodec/wmadec.c

+ 2
- 0
libavcodec/wmadec.c View File

@@ -873,6 +873,8 @@ static int wma_decode_superframe(AVCodecContext *avctx, void *data,

/* read each frame starting from bit_offset */
pos = bit_offset + 4 + 4 + s->byte_offset_bits + 3;
if (pos >= MAX_CODED_SUPERFRAME_SIZE * 8)
return AVERROR_INVALIDDATA;
init_get_bits(&s->gb, buf + (pos >> 3), (MAX_CODED_SUPERFRAME_SIZE - (pos >> 3))*8);
len = pos & 7;
if (len > 0)


Loading…
Cancel
Save