[FFmpeg-devel] [PATCH] avcodec/ac3dec: Fix shift signedness in mask creation

James Almer jamrial at gmail.com
Fri Sep 21 16:41:18 EEST 2018


On 9/21/2018 9:30 AM, Michael Niedermayer wrote:
> Fixes: 9924/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EAC3_fuzzer-5473421772193792
> Fixes: left shift of 1 by 63 places cannot be represented in type 'long long'
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavcodec/ac3dec.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
> index eed8ce5b39..e4d293a2aa 100644
> --- a/libavcodec/ac3dec.c
> +++ b/libavcodec/ac3dec.c
> @@ -1708,7 +1708,7 @@ dependent_frame:
>                      int i;
>  
>                      for (i = 0; i < 64; i++) {
> -                        if ((1LL << i) & ff_eac3_custom_channel_map_locations[ch][1]) {
> +                        if ((1ULL << i) & ff_eac3_custom_channel_map_locations[ch][1]) {
>                              int index = av_get_channel_layout_channel_index(channel_layout,
>                                                                              1LL << i);

What about this one?

>                              if (index < 0)
> 



More information about the ffmpeg-devel mailing list