[FFmpeg-devel] [PATCH 07/12] Prevent NULL dereferences when missing the reference frame in the Electronic Arts CMV decoder.

fenrir at elivagar.org fenrir at elivagar.org
Sat Oct 1 00:45:00 CEST 2011


From: Laurent Aimar <fenrir at videolan.org>

---
 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++;
     }
-- 
1.7.2.5



More information about the ffmpeg-devel mailing list