diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-09-19 13:08:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-19 13:08:02 +0200 |
| commit | a2a098dd9dc7f0d5acdb90e89612a4aa35b04101 (patch) | |
| tree | 8588cb33b5267f6bc78b7efbd3de02ad715ee6df /src/projections/aea.cpp | |
| parent | ae6f1a1760e8393b673b6e63600c4842f4fde261 (diff) | |
| parent | 02919fb712a84d83780bffd5f2ebdc44451f48b4 (diff) | |
| download | PROJ-a2a098dd9dc7f0d5acdb90e89612a4aa35b04101.tar.gz PROJ-a2a098dd9dc7f0d5acdb90e89612a4aa35b04101.zip | |
Merge pull request #1622 from OSGeo/backport-1620-to-6.2
[Backport 6.2] Assorted set of fixes for boring oss-fuzz related errors (mostly divisions by zero in odd situations)
Diffstat (limited to 'src/projections/aea.cpp')
| -rw-r--r-- | src/projections/aea.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
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; |
