[FFmpeg-cvslog] Prevent NULL dereferences when missing the reference frame in the Electronic Arts CMV decoder .
Laurent Aimar
git at videolan.org
Sat Oct 1 02:42:32 CEST 2011
ffmpeg | branch: master | Laurent Aimar <fenrir at videolan.org> | Sat Oct 1 00:45:00 2011 +0200| [113d7be62497c4e59db8f224fdb7f0a90cf17d03] | committer: Michael Niedermayer
Prevent NULL dereferences when missing the reference frame in the Electronic Arts CMV decoder.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=113d7be62497c4e59db8f224fdb7f0a90cf17d03
---
libavcodec/eacmv.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavcodec/eacmv.c b/libavcodec/eacmv.c
index a084106..3ac9cda 100644
--- a/libavcodec/eacmv.c
+++ b/libavcodec/eacmv.c
@@ -110,9 +110,10 @@ static void cmv_decode_inter(CmvContext * s, const uint8_t *buf, const uint8_t *
}else{ /* inter using last frame as reference */
int xoffset = (buf[i] & 0xF) - 7;
int yoffset = ((buf[i] >> 4)) - 7;
- cmv_motcomp(s->frame.data[0], s->frame.linesize[0],
- s->last_frame.data[0], s->last_frame.linesize[0],
- x*4, y*4, xoffset, yoffset, s->avctx->width, s->avctx->height);
+ if (s->last_frame.data[0])
+ cmv_motcomp(s->frame.data[0], s->frame.linesize[0],
+ s->last_frame.data[0], s->last_frame.linesize[0],
+ x*4, y*4, xoffset, yoffset, s->avctx->width, s->avctx->height);
}
i++;
}
More information about the ffmpeg-cvslog
mailing list