* simple fix to avoid memcpy with len < 0
authorZdenek Kabelac <kabi@informatics.muni.cz>
Tue, 23 Oct 2001 19:03:33 +0000 (19:03 +0000)
committerZdenek Kabelac <kabi@informatics.muni.cz>
Tue, 23 Oct 2001 19:03:33 +0000 (19:03 +0000)
Originally committed as revision 180 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpegaudiodec.c

index ca610d6..80a145b 100644 (file)
@@ -2268,11 +2268,13 @@ static int decode_frame(AVCodecContext * avctx,
            len = HEADER_SIZE - len;
            if (len > buf_size)
                len = buf_size;
+           else if (len > 0) {
            memcpy(s->inbuf_ptr, buf_ptr, len);
            buf_ptr += len;
-           s->inbuf_ptr += len;
            buf_size -= len;
-           if ((s->inbuf_ptr - s->inbuf) == HEADER_SIZE) {
+               s->inbuf_ptr += len;
+           }
+           if ((s->inbuf_ptr - s->inbuf) >= HEADER_SIZE) {
             got_header:
                header = (s->inbuf[0] << 24) | (s->inbuf[1] << 16) |
                    (s->inbuf[2] << 8) | s->inbuf[3];