From 216cf0c26c7e63084f30d9eea03c4f36ae3afcad Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 17 Sep 2019 21:34:46 +0200 Subject: aea_e_inverse(): avoid calling asin() with invalid argument which results in NaN being propagated. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15336 --- src/projections/aea.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/projections/aea.cpp') diff --git a/src/projections/aea.cpp b/src/projections/aea.cpp index 721ea3c9..d607c95a 100644 --- a/src/projections/aea.cpp +++ b/src/projections/aea.cpp @@ -127,6 +127,10 @@ static PJ_LP aea_e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoid/spheroid, inverse if (Q->ellips) { lp.phi = (Q->c - lp.phi * lp.phi) / Q->n; if (fabs(Q->ec - fabs(lp.phi)) > TOL7) { + if (fabs(lp.phi) > 2 ) { + proj_errno_set(P, PJD_ERR_TOLERANCE_CONDITION); + return lp; + } if ((lp.phi = phi1_(lp.phi, P->e, P->one_es)) == HUGE_VAL) { proj_errno_set(P, PJD_ERR_TOLERANCE_CONDITION); return lp; -- cgit v1.2.3