From 13d3b67822f9e8b2f6cfc96933abeef054d37085 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Thu, 26 Aug 2021 22:40:15 +0700 Subject: Fix #402, negative determinant fails, only 0 or not finite should fail --- src/gd_matrix.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gd_matrix.c b/src/gd_matrix.c index def3f3c..7ee2e6f 100644 --- a/src/gd_matrix.c +++ b/src/gd_matrix.c @@ -84,7 +84,10 @@ BGD_DECLARE(int) gdAffineInvert (double dst[6], const double src[6]) { double r_det = (src[0] * src[3] - src[1] * src[2]); - if (fabs(r_det) <= 0.0) { + if (!isfinite(r_det)) { + return GD_FALSE; + } + if (r_det == 0) { return GD_FALSE; } -- cgit v1.2.1