[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