]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Fix buffer size check for xan_unpack which was broken by r18586
authorreimar <reimar@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 17 Apr 2009 19:07:16 +0000 (19:07 +0000)
committerreimar <reimar@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 17 Apr 2009 19:07:16 +0000 (19:07 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18589 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/xan.c

index f1e343e88d8425a1006b34e19e18d0f643be66fb..04f2b1f249d7c3704e33ef11c1984f4dd44950f7 100644 (file)
@@ -156,7 +156,7 @@ static void xan_unpack(unsigned char *dest, const unsigned char *src, int dest_l
 
                 back = ((opcode & 0x10) << 12) + 1 + bytestream_get_be16(&src);
                 size2 = *src++ + 5 + ((opcode & 0xc) << 6);
-                if (dest >= dest_end || size > dest_end - dest)
+                if (size + size2 > dest_end - dest)
                     return;
             }
             memcpy(dest, src, size);  dest += size;  src += size;