Commit cf2b7c01 authored by Michael Niedermayer's avatar Michael Niedermayer

avutil/lzo: add asserts to be double sure against overflows

These asserts cannot fail since d6af26c5

Based-on: ccda51b1Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent d6af26c5
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <string.h> #include <string.h>
#include "avutil.h" #include "avutil.h"
#include "avassert.h"
#include "common.h" #include "common.h"
#include "intreadwrite.h" #include "intreadwrite.h"
#include "lzo.h" #include "lzo.h"
...@@ -85,6 +86,7 @@ static inline void copy(LZOContext *c, int cnt) ...@@ -85,6 +86,7 @@ static inline void copy(LZOContext *c, int cnt)
{ {
register const uint8_t *src = c->in; register const uint8_t *src = c->in;
register uint8_t *dst = c->out; register uint8_t *dst = c->out;
av_assert0(cnt >= 0);
if (cnt > c->in_end - src) { if (cnt > c->in_end - src) {
cnt = FFMAX(c->in_end - src, 0); cnt = FFMAX(c->in_end - src, 0);
c->error |= AV_LZO_INPUT_DEPLETED; c->error |= AV_LZO_INPUT_DEPLETED;
...@@ -116,6 +118,7 @@ static inline void copy(LZOContext *c, int cnt) ...@@ -116,6 +118,7 @@ static inline void copy(LZOContext *c, int cnt)
static inline void copy_backptr(LZOContext *c, int back, int cnt) static inline void copy_backptr(LZOContext *c, int back, int cnt)
{ {
register uint8_t *dst = c->out; register uint8_t *dst = c->out;
av_assert0(cnt > 0);
if (dst - c->out_start < back) { if (dst - c->out_start < back) {
c->error |= AV_LZO_INVALID_BACKPTR; c->error |= AV_LZO_INVALID_BACKPTR;
return; return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment