From 5fe9c42cebbac9e4875f8ff30eb84ea9f8f5b407 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= <Reimar.Doeffinger@gmx.de>
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 54a34c2bf2e..5fd1f4cc06c 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;
-- 
GitLab