Commit 228ef9dd authored by Fabrice Bellard's avatar Fabrice Bellard

memmove fixes (Jon Burgess)

Originally committed as revision 2157 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 758cf534
...@@ -1460,7 +1460,7 @@ static void seek_to_maindata(MPADecodeContext *s, unsigned int backstep) ...@@ -1460,7 +1460,7 @@ static void seek_to_maindata(MPADecodeContext *s, unsigned int backstep)
uint8_t *ptr; uint8_t *ptr;
/* compute current position in stream */ /* compute current position in stream */
ptr = s->gb.buffer + (get_bits_count(&s->gb)>>3); ptr = (uint8_t *)(s->gb.buffer + (get_bits_count(&s->gb)>>3));
/* copy old data before current one */ /* copy old data before current one */
ptr -= backstep; ptr -= backstep;
...@@ -2376,7 +2376,7 @@ static int decode_frame(AVCodecContext * avctx, ...@@ -2376,7 +2376,7 @@ static int decode_frame(AVCodecContext * avctx,
if (check_header(header) < 0) { if (check_header(header) < 0) {
/* no sync found : move by one byte (inefficient, but simple!) */ /* no sync found : move by one byte (inefficient, but simple!) */
memcpy(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1); memmove(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1);
s->inbuf_ptr--; s->inbuf_ptr--;
dprintf("skip %x\n", header); dprintf("skip %x\n", header);
/* reset free format frame size to give a chance /* reset free format frame size to give a chance
...@@ -2402,7 +2402,7 @@ static int decode_frame(AVCodecContext * avctx, ...@@ -2402,7 +2402,7 @@ static int decode_frame(AVCodecContext * avctx,
if (len == 0) { if (len == 0) {
/* frame too long: resync */ /* frame too long: resync */
s->frame_size = 0; s->frame_size = 0;
memcpy(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1); memmove(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1);
s->inbuf_ptr--; s->inbuf_ptr--;
} else { } else {
uint8_t *p, *pend; uint8_t *p, *pend;
......
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