aboutsummaryrefslogtreecommitdiff
path: root/src/projections/omerc.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@mines-paris.org>2019-03-27 11:51:48 +0100
committerGitHub <noreply@github.com>2019-03-27 11:51:48 +0100
commita268bf4e7e521e95e326099aee201aa0689a8f9f (patch)
tree8b031345b9c28c5568778c75bc26378a31aa5454 /src/projections/omerc.cpp
parentc5772cf1b7cb0f467d12f7f8b99516cc8b3a98c5 (diff)
parent3e85ebc697ccfc439a2b80488a5056e576c1acea (diff)
downloadPROJ-a268bf4e7e521e95e326099aee201aa0689a8f9f.tar.gz
PROJ-a268bf4e7e521e95e326099aee201aa0689a8f9f.zip
Merge pull request #1378 from OSGeo/backport-1376-on-6.0
Backport #1376 on 6.0: Ossfuzz 13894 follow up
Diffstat (limited to 'src/projections/omerc.cpp')
-rw-r--r--src/projections/omerc.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/projections/omerc.cpp b/src/projections/omerc.cpp
index e9b7b4a0..c33f6489 100644
--- a/src/projections/omerc.cpp
+++ b/src/projections/omerc.cpp
@@ -97,6 +97,10 @@ static PJ_LP e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoidal, inverse */
u = xy.y * Q->cosrot + xy.x * Q->sinrot + Q->u_0;
}
Qp = exp(- Q->BrA * v);
+ if( Qp == 0 ) {
+ proj_errno_set(P, PJD_ERR_INVALID_X_OR_Y);
+ return proj_coord_error().lp;
+ }
Sp = .5 * (Qp - 1. / Qp);
Tp = .5 * (Qp + 1. / Qp);
Vp = sin(Q->BrA * u);