Browse Source

golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()

Fixes infinite loop in FLAC decoding in case of a truncated bitstream due to
the safe bitstream reader returning 0's at the end.

Fixes Bug 310.

CC:libav-stable@libav.org
tags/n1.0
Justin Ruggles 13 years ago
parent
commit
4795362660
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavcodec/golomb.h

+ 1
- 1
libavcodec/golomb.h View File

@@ -301,7 +301,7 @@ static inline int get_ur_golomb_jpegls(GetBitContext *gb, int k, int limit, int
return buf;
}else{
int i;
for (i = 0; i < limit && SHOW_UBITS(re, gb, 1) == 0; i++) {
for (i = 0; i < limit && SHOW_UBITS(re, gb, 1) == 0 && HAVE_BITS_REMAINING(re, gb); i++) {
LAST_SKIP_BITS(re, gb, 1);
UPDATE_CACHE(re, gb);
}


Loading…
Cancel
Save