[FFmpeg-cvslog] Reject slices that does not have the same type than the first one in RV10/ RV20 decoder.

Laurent Aimar git at videolan.org
Wed Sep 21 21:08:38 CEST 2011


ffmpeg | branch: release/0.8 | Laurent Aimar <fenrir at videolan.org> | Sun Sep 18 00:17:44 2011 +0200| [b59919afe2b6caad1ddcbbb71bdcf5a8750b8c71] | committer: Michael Niedermayer

Reject slices that does not have the same type than the first one in RV10/RV20 decoder.

This prevents crashes with some corrupted bitstreams.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit d788af6cf696d547a442c47e1ce6f93bc9fc97b6)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b59919afe2b6caad1ddcbbb71bdcf5a8750b8c71
---

 libavcodec/rv10.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c
index 2f822a8..b8cdf4a 100644
--- a/libavcodec/rv10.c
+++ b/libavcodec/rv10.c
@@ -559,8 +559,12 @@ static int rv10_decode_packet(AVCodecContext *avctx,
         if(MPV_frame_start(s, avctx) < 0)
             return -1;
         ff_er_frame_start(s);
+    } else {
+        if (s->current_picture_ptr->f.pict_type != s->pict_type)
+            return -1;
     }
 
+
     av_dlog(avctx, "qscale=%d\n", s->qscale);
 
     /* default quantization values */



More information about the ffmpeg-cvslog mailing list