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

Sean McGovern gseanmcg at gmail.com
Thu Mar 14 21:52:08 EET 2024


Andreas:

On Tue, Mar 12, 2024 at 6:57 PM Andreas Rheinhardt
<andreas.rheinhardt at outlook.com> 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) {
>          int64_t max_dts = INT64_MIN / 2;
>          int64_t min_dts = INT64_MAX / 2;
>          int64_t max_buffer = 0;
> --
> 2.40.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".

Confirming that this fixes fate-v210 (and probably many more) on my
PowerPC QEMU setup -- it was not failing on POWER7 (ppc64) or POWER9
(ppc64le) and remains so with the patch applied.

Thanks,
Sean McGovern


More information about the ffmpeg-devel mailing list