From de7d29063133b240a9fe2c26049b35a6a028c8a1 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 25 May 2013 15:22:19 +0200 Subject: av_d2q: Fix infinity check The old check would fail on huge but not infinite values and the later code could then fail to handle them correctly in some cases. Signed-off-by: Michael Niedermayer --- libavutil/rational.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libavutil') diff --git a/libavutil/rational.c b/libavutil/rational.c index e333f620f9..5b9b86fb6d 100644 --- a/libavutil/rational.c +++ b/libavutil/rational.c @@ -110,7 +110,7 @@ AVRational av_d2q(double d, int max) int64_t den; if (isnan(d)) return (AVRational) { 0,0 }; - if (isinf(d)) + if (fabs(d) > INT_MAX + 3LL) return (AVRational) { d < 0 ? -1 : 1, 0 }; exponent = FFMAX( (int)(log(fabs(d) + 1e-20)/LOG2), 0); den = 1LL << (61 - exponent); -- cgit v1.2.3