Browse Source

flicvideo: avoid an infinite loop in byte run compression

When byte_run is 0, pixel_countdown is not touched and the loop will run
forever.

CC:libav-stable@libav.org
tags/n1.2
Anton Khirnov 12 years ago
parent
commit
ddfe1246d9
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      libavcodec/flicvideo.c

+ 5
- 0
libavcodec/flicvideo.c View File

@@ -348,6 +348,11 @@ static int flic_decode_frame_8BPP(AVCodecContext *avctx,
pixel_countdown = s->avctx->width;
while (pixel_countdown > 0) {
byte_run = sign_extend(bytestream2_get_byte(&g2), 8);
if (!byte_run) {
av_log(avctx, AV_LOG_ERROR, "Invalid byte run value.\n");
return AVERROR_INVALIDDATA;
}

if (byte_run > 0) {
palette_idx1 = bytestream2_get_byte(&g2);
CHECK_PIXEL_PTR(byte_run);


Loading…
Cancel
Save