aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/lzo.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-06-23 14:45:47 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-06-23 15:04:07 +0200
commit61796a8999f5ef39cd4f5aa81bfd7d3f62dc17f2 (patch)
treed6de103e0155ccafb33edd8f1672c355e741fd42 /libavutil/lzo.c
parent7d9c059a3525aa9f3e257b4c13df2b8c30409f3c (diff)
downloadffmpeg-61796a8999f5ef39cd4f5aa81bfd7d3f62dc17f2.tar.gz
avutil/lzo: add asserts to be double sure against overflows
These asserts cannot fail since d6af26c55c1ea30f85a7d9edbc373f53be1743ee Based-on: ccda51b14c0fcae2fad73a24872dce75a7964996 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit cf2b7c01f81c1fb3283a1390c0ca9a2f81f4f4a8) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/lzo.c')
-rw-r--r--libavutil/lzo.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavutil/lzo.c b/libavutil/lzo.c
index 82dba94771..6104fc3085 100644
--- a/libavutil/lzo.c
+++ b/libavutil/lzo.c
@@ -22,6 +22,7 @@
#include <string.h>
#include "avutil.h"
+#include "avassert.h"
#include "common.h"
#include "intreadwrite.h"
#include "lzo.h"
@@ -85,6 +86,7 @@ static inline void copy(LZOContext *c, int cnt)
{
register const uint8_t *src = c->in;
register uint8_t *dst = c->out;
+ av_assert0(cnt >= 0);
if (cnt > c->in_end - src) {
cnt = FFMAX(c->in_end - src, 0);
c->error |= AV_LZO_INPUT_DEPLETED;
@@ -116,6 +118,7 @@ static inline void copy(LZOContext *c, int cnt)
static inline void copy_backptr(LZOContext *c, int back, int cnt)
{
register uint8_t *dst = c->out;
+ av_assert0(cnt > 0);
if (dst - c->out_start < back) {
c->error |= AV_LZO_INVALID_BACKPTR;
return;