check return value of decode_cabac_mb_dqp, it is INT_MIN on error.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 17 Sep 2005 08:15:07 +0000 (08:15 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 17 Sep 2005 08:15:07 +0000 (08:15 +0000)
fixes crash with http://stud4.tuwien.ac.at/~e0326863/ats/bbc-sample_small.mpg
and MPlayer's broken packetizer (but will not decode right of course).

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

libavcodec/h264.c

index efbf532..925fb68 100644 (file)
@@ -6044,6 +6044,10 @@ decode_intra_mb:
         }
 
         h->last_qscale_diff = dqp = decode_cabac_mb_dqp( h );
+        if( dqp == INT_MIN ){
+            av_log(h->s.avctx, AV_LOG_ERROR, "cabac decode of qscale diff failed at %d %d\n", s->mb_x, s->mb_y);
+            return -1;
+        }
         s->qscale += dqp;
         if(((unsigned)s->qscale) > 51){
             if(s->qscale<0) s->qscale+= 52;