diff --git a/libavutil/mathematics.c b/libavutil/mathematics.c index c12c73e6e6..20ff37f5e9 100644 --- a/libavutil/mathematics.c +++ b/libavutil/mathematics.c @@ -85,7 +85,7 @@ int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd) else { int64_t ad = a / c; int64_t a2 = (a % c * b + r) / c; - if (ad >= INT32_MAX && ad > (INT64_MAX - a2) / b) + if (ad >= INT32_MAX && b && ad > (INT64_MAX - a2) / b) return INT64_MIN; return ad * b + a2; }