[FFmpeg-devel] [PATCH 4/4] avcodec/utils: Check sample rate before use for AV_CODEC_ID_BINKAUDIO_DCT in get_audio_frame_duration()

Peter Ross pross at xvid.org
Wed Oct 28 03:17:47 EET 2020


On Tue, Oct 27, 2020 at 05:21:19PM +0100, Michael Niedermayer wrote:
> Fixes: shift exponent 95 is too large for 32-bit type 'int'
> Fixes: 26590/clusterfuzz-testcase-minimized-ffmpeg_dem_SMACKER_fuzzer-5120609937522688
> 
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavcodec/utils.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index 93ac1cd9f0..3d978b390e 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -1633,8 +1633,11 @@ static int get_audio_frame_duration(enum AVCodecID id, int sr, int ch, int ba,
>  
>          if (ch > 0) {
>              /* calc from sample rate and channels */
> -            if (id == AV_CODEC_ID_BINKAUDIO_DCT)
> +            if (id == AV_CODEC_ID_BINKAUDIO_DCT) {
> +                if (sr / 22050 > 22)
> +                    return 0;
>                  return (480 << (sr / 22050)) / ch;
> +            }
>          }
>  
>          if (id == AV_CODEC_ID_MP3)

looks good

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20201028/f5feafd8/attachment.sig>


More information about the ffmpeg-devel mailing list