[FFmpeg-devel] [PATCH] avformat/avidec: Fix integer overflow iff ULONG_MAX < INT64_MAX

James Almer jamrial at gmail.com
Wed Mar 13 00:58:49 EET 2024


On 3/12/2024 7:57 PM, Andreas Rheinhardt wrote:
> Affects many FATE-tests, see
> http://fate.ffmpeg.org/report.cgi?time=20240312011016&slot=ppc-linux-gcc-13.2-ubsan-altivec-qemu
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>   libavformat/avidec.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavformat/avidec.c b/libavformat/avidec.c
> index f3183b2698..b7cbf148af 100644
> --- a/libavformat/avidec.c
> +++ b/libavformat/avidec.c
> @@ -1696,7 +1696,7 @@ static int check_stream_max_drift(AVFormatContext *s)
>       int *idx = av_calloc(s->nb_streams, sizeof(*idx));
>       if (!idx)
>           return AVERROR(ENOMEM);
> -    for (min_pos = pos = 0; min_pos != INT64_MAX; pos = min_pos + 1LU) {
> +    for (min_pos = pos = 0; min_pos != INT64_MAX; pos = min_pos + (uint64_t)1) {

nit: 1ULL

>           int64_t max_dts = INT64_MIN / 2;
>           int64_t min_dts = INT64_MAX / 2;
>           int64_t max_buffer = 0;


More information about the ffmpeg-devel mailing list