From 113d7be62497c4e59db8f224fdb7f0a90cf17d03 Mon Sep 17 00:00:00 2001
From: Laurent Aimar <fenrir@videolan.org>
Date: Sat, 1 Oct 2011 00:45:00 +0200
Subject: [PATCH] Prevent NULL dereferences when missing the reference frame in
 the Electronic Arts CMV decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
---
 libavcodec/eacmv.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/libavcodec/eacmv.c b/libavcodec/eacmv.c
index a084106c45..3ac9cdaecb 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++;
     }