From 5fe9c42cebbac9e4875f8ff30eb84ea9f8f5b407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Wed, 31 Jan 2007 10:29:58 +0000 Subject: [PATCH] Add two extra needed bounds checks Originally committed as revision 7777 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/lzo.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/lzo.c b/libavcodec/lzo.c index 54a34c2bf2..5fd1f4cc06 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;