On 2012-11-28 23:52:27 +0100, Luca Barbato wrote:
> On 11/28/2012 11:25 PM, Janne Grunau wrote:
> > Fixes mov_svq3_aac__t_starcraft2_teasecinv2_h264.mov.SIGSEGV.d8a.664.
> > 
> > Found-by: Mateusz "j00ru" Jurczyk
> > CC: libav-sta...@libav.org
> > ---
> >  libavcodec/svq3.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
> > index ac8d9c1..a04748b 100644
> > --- a/libavcodec/svq3.c
> > +++ b/libavcodec/svq3.c
> > @@ -786,7 +786,7 @@ static int svq3_decode_slice_header(AVCodecContext 
> > *avctx)
> >          skip_bits_long(&s->gb, 0);
> >      }
> >  
> > -    if ((i = svq3_get_ue_golomb(&s->gb)) == INVALID_VLC || i >= 3) {
> > +    if ((i = svq3_get_ue_golomb(&s->gb)) < 0 || i >= 3) {
> >          av_log(h->s.avctx, AV_LOG_ERROR, "illegal slice type %d \n", i);
> >          return -1;
> >      }
> > 
> 
> Is INVALID_VLC value negative?

no, 0x80000000. But arithmetic conversion saves us.

svq3_get_ue_golomb() returns in this case o different negative value.

Janne

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to