From 032f4068646d6d29f4657eeb69425ec349dcaa7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Mon, 24 Jan 2011 18:51:00 +0100 Subject: Handle input or output len of 0 properly in lzo decoder. (cherry picked from commit 7d5082600ee63d879c2a325974ea09c8ace05019) --- libavutil/lzo.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libavutil/lzo.c') 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; -- cgit v1.2.3