jvdec: stop reading partial palette
authorPaul B Mahol <onemda@gmail.com>
Tue, 3 Jul 2012 11:16:56 +0000 (11:16 +0000)
committerPaul B Mahol <onemda@gmail.com>
Tue, 3 Jul 2012 13:06:23 +0000 (13:06 +0000)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/jvdec.c

index 728b749..acf1885 100644 (file)
@@ -174,8 +174,8 @@ static int decode_frame(AVCodecContext *avctx,
         }
     }
 
-    if (buf < buf_end) {
-        for (i = 0; i < AVPALETTE_COUNT && buf + 3 <= buf_end; i++) {
+    if (buf_end - buf >= AVPALETTE_COUNT * 3) {
+        for (i = 0; i < AVPALETTE_COUNT; i++) {
             uint32_t pal = AV_RB24(buf);
             s->palette[i] = 0xFF << 24 | pal << 2 | ((pal >> 4) & 0x30303);
             buf += 3;