aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/lzo.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2011-11-05 21:45:31 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2011-11-05 23:25:20 +0100
commitb9242fd12f4be4a79e31fd0aa125ab8a48226896 (patch)
tree5375dcd3076edb840acfbf27601b82a634c4df5f /libavutil/lzo.c
parent7f6c828f2e6b4704f38ae31969bfff6af1afdc28 (diff)
downloadffmpeg-b9242fd12f4be4a79e31fd0aa125ab8a48226896.tar.gz
av_lzo1x_decode: properly handle negative buffer length.
Treating them like 0 is safest, current code would invoke undefined pointer arithmetic behaviour in this case. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavutil/lzo.c')
-rw-r--r--libavutil/lzo.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavutil/lzo.c b/libavutil/lzo.c
index bac762ecc3..759a2433b8 100644
--- a/libavutil/lzo.c
+++ b/libavutil/lzo.c
@@ -175,11 +175,11 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
int state= 0;
int x;
LZOContext c;
- if (!*outlen || !*inlen) {
+ if (*outlen <= 0 || *inlen <= 0) {
int res = 0;
- if (!*outlen)
+ if (*outlen <= 0)
res |= AV_LZO_OUTPUT_FULL;
- if (!*inlen)
+ if (*inlen <= 0)
res |= AV_LZO_INPUT_DEPLETED;
return res;
}