diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-11-06 00:45:31 +0400 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-11-06 02:25:20 +0400 |
commit | b9242fd12f4be4a79e31fd0aa125ab8a48226896 (patch) | |
tree | 5375dcd3076edb840acfbf27601b82a634c4df5f | |
parent | 7f6c828f2e6b4704f38ae31969bfff6af1afdc28 (diff) |
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>
-rw-r--r-- | libavutil/lzo.c | 6 |
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; } |