Browse Source

dfa: fix out of array write in decode_wdlt()

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.11
Michael Niedermayer 13 years ago
parent
commit
d1c95d2ce3
1 changed files with 2 additions and 0 deletions
  1. +2
    -0
      libavcodec/dfa.c

+ 2
- 0
libavcodec/dfa.c View File

@@ -242,6 +242,8 @@ static int decode_wdlt(GetByteContext *gb, uint8_t *frame, int width, int height
frame += delta; frame += delta;
segments = bytestream2_get_le16(gb); segments = bytestream2_get_le16(gb);
} }
if (frame_end <= frame)
return -1;
if (segments & 0x8000) { if (segments & 0x8000) {
frame[width - 1] = segments & 0xFF; frame[width - 1] = segments & 0xFF;
segments = bytestream2_get_le16(gb); segments = bytestream2_get_le16(gb);


Loading…
Cancel
Save