Make sure we do not accidentially "fix" cnt to something < 0
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Wed, 31 Jan 2007 21:20:31 +0000 (21:20 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Wed, 31 Jan 2007 21:20:31 +0000 (21:20 +0000)
Originally committed as revision 7788 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/lzo.c

index 54edc800ac7f2f431962e6f68fcf24645a0eaf2b..d3849a743dc4c2280345370f7633f9505403b16a 100644 (file)
@@ -87,11 +87,11 @@ static inline void copy(LZOContext *c, int cnt) {
     register uint8_t *src = c->in;
     register uint8_t *dst = c->out;
     if (cnt > c->in_end - src) {
-        cnt = c->in_end - src;
+        cnt = FFMAX(c->in_end - src, 0);
         c->error |= LZO_INPUT_DEPLETED;
     }
     if (cnt > c->out_end - dst) {
-        cnt = c->out_end - dst;
+        cnt = FFMAX(c->out_end - dst, 0);
         c->error |= LZO_OUTPUT_FULL;
     }
 #if defined(INBUF_PADDED) && defined(OUTBUF_PADDED)
@@ -122,7 +122,7 @@ static inline void copy_backptr(LZOContext *c, int back, int cnt) {
         return;
     }
     if (cnt > c->out_end - dst) {
-        cnt = c->out_end - dst;
+        cnt = FFMAX(c->out_end - dst, 0);
         c->error |= LZO_OUTPUT_FULL;
     }
     if (back == 1) {