OSDN Git Service

FFplay : Avoid manipulating NULL data pointers so that future checks
authorJai Menon <jmenon86@gmail.com>
Sun, 23 May 2010 19:13:17 +0000 (19:13 +0000)
committerJai Menon <jmenon86@gmail.com>
Sun, 23 May 2010 19:13:17 +0000 (19:13 +0000)
remain valid. This fixes segfaults for those cases where data copy to
this invalid pointer is attempted.

Originally committed as revision 23264 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffplay.c

index a48891e..7b20848 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -1591,7 +1591,9 @@ static int input_get_buffer(AVCodecContext *codec, AVFrame *pic)
         unsigned hshift = i == 0 ? 0 : av_pix_fmt_descriptors[ref->pic->format].log2_chroma_w;
         unsigned vshift = i == 0 ? 0 : av_pix_fmt_descriptors[ref->pic->format].log2_chroma_h;
 
+        if (ref->data[i]) {
         ref->data[i]    += (edge >> hshift) + ((edge * ref->linesize[i]) >> vshift);
+        }
         pic->data[i]     = ref->data[i];
         pic->linesize[i] = ref->linesize[i];
     }