From: Reimar Döffinger Date: Wed, 31 Jan 2007 10:29:58 +0000 (+0000) Subject: Add two extra needed bounds checks X-Git-Tag: v0.5~10280 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5fe9c42cebbac9e4875f8ff30eb84ea9f8f5b407;p=platform%2Fupstream%2Flibav.git Add two extra needed bounds checks Originally committed as revision 7777 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/lzo.c b/libavcodec/lzo.c index 54a34c2..5fd1f4c 100644 --- a/libavcodec/lzo.c +++ b/libavcodec/lzo.c @@ -182,6 +182,8 @@ int lzo1x_decode(void *out, int *outlen, void *in, int *inlen) { x = GETB(c); if (x < 16) c.error |= LZO_ERROR; } + if (c.in > c.in_end) + c.error |= LZO_INPUT_DEPLETED; while (!c.error) { int cnt, back; if (x > 15) { @@ -209,6 +211,10 @@ int lzo1x_decode(void *out, int *outlen, void *in, int *inlen) { cnt = get_len(&c, x, 15); copy(&c, cnt + 3); x = GETB(c); + if (c.in > c.in_end) { + c.error |= LZO_INPUT_DEPLETED; + continue; + } if (x >> 4) continue; cnt = 1;