Handle input or output len of 0 properly in lzo decoder.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Mon, 24 Jan 2011 17:51:00 +0000 (18:51 +0100)
committerJanne Grunau <janne-ffmpeg@jannau.net>
Mon, 24 Jan 2011 20:25:43 +0000 (21:25 +0100)
(cherry picked from commit 7d5082600ee63d879c2a325974ea09c8ace05019)

libavutil/lzo.c

index a876fc7..40a41a4 100644 (file)
@@ -175,6 +175,14 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
     int state= 0;
     int x;
     LZOContext c;
+    if (!*outlen || !*inlen) {
+        int res = 0;
+        if (!*outlen)
+            res |= AV_LZO_OUTPUT_FULL;
+        if (!*inlen)
+            res |= AV_LZO_INPUT_DEPLETED;
+        return res;
+    }
     c.in = in;
     c.in_end = (const uint8_t *)in + *inlen;
     c.out = c.out_start = out;