summaryrefslogtreecommitdiff
path: root/libavutil/lzo.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2011-01-24 18:51:00 +0100
committerJanne Grunau <janne-ffmpeg@jannau.net>2011-01-24 21:25:43 +0100
commit032f4068646d6d29f4657eeb69425ec349dcaa7c (patch)
treedc1330bf3cf03f215781d6973ccb4112f434fd90 /libavutil/lzo.c
parent2b0decf60ba6dd5eec16e88d4b816e56108a2935 (diff)
Handle input or output len of 0 properly in lzo decoder.
(cherry picked from commit 7d5082600ee63d879c2a325974ea09c8ace05019)
Diffstat (limited to 'libavutil/lzo.c')
-rw-r--r--libavutil/lzo.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavutil/lzo.c b/libavutil/lzo.c
index a876fc7776..40a41a424d 100644
--- a/libavutil/lzo.c
+++ b/libavutil/lzo.c
@@ -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;