On 03.12.2015 23:09, Michael Niedermayer wrote:
> From: Michael Niedermayer <mich...@niedermayer.cc>
> 
> Fixes undefined behavior
> Fixes: mozilla bug 1229208
> Fixes: 
> fbeb8b2c7c996e9b91c6b1af319d7ebc/asan_heap-oob_195450f_2743_e8856ece4579ea486670be2b236099a0.bit
> 
> Found-by: Tyson Smith
> Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
> ---
>  libavcodec/golomb.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h
> index d30bb6b..323665d 100644
> --- a/libavcodec/golomb.h
> +++ b/libavcodec/golomb.h
> @@ -72,7 +72,7 @@ static inline int get_ue_golomb(GetBitContext *gb)
>              av_log(NULL, AV_LOG_ERROR, "Invalid UE golomb code\n");
>              return AVERROR_INVALIDDATA;
>          }
> -        buf >>= log;
> +        buf >>= log & 31;
>          buf--;
>  
>          return buf;
> 

While that certainly fixes the undefined behavior, I'm wondering what's the 
relation
to commit fd165ac. In other words, why not just remove the CONFIG_FTRAPV from
the error check above?

Also, if you are interested in fixing such undefined behavior, I have lots of
fuzzed samples triggering ubsan all over the place...

Best regards,
Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to