aboutsummaryrefslogtreecommitdiff
path: root/src/projections/urm5.cpp
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2019-03-25 08:32:23 +0100
committerGitHub <noreply@github.com>2019-03-25 08:32:23 +0100
commit128421dd503bc89ec13fb151d8db4e06606d04da (patch)
tree55c66cbb6ba7cfcaff503d5d9604c2592615eaa3 /src/projections/urm5.cpp
parent594fd7bbc72f36c42a3e5e538efdd3e01e5c3f40 (diff)
parentc3b6c65f96f3d195698aaf286a70548beee4386a (diff)
downloadPROJ-128421dd503bc89ec13fb151d8db4e06606d04da.tar.gz
PROJ-128421dd503bc89ec13fb151d8db4e06606d04da.zip
Merge pull request #1362 from OSGeo/backport-1358-on-6.0
Backport #1358 on 6.0: Fix ossfuzz 13891
Diffstat (limited to 'src/projections/urm5.cpp')
-rw-r--r--src/projections/urm5.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/projections/urm5.cpp b/src/projections/urm5.cpp
index a93293c0..f89bb1d5 100644
--- a/src/projections/urm5.cpp
+++ b/src/projections/urm5.cpp
@@ -45,7 +45,11 @@ PJ *PROJECTION(urm5) {
Q->q3 = pj_param(P->ctx, P->params, "dq").f / 3.;
alpha = pj_param(P->ctx, P->params, "ralpha").f;
t = Q->n * sin (alpha);
- Q->m = cos (alpha) / sqrt (1. - t * t);
+ const double denom = sqrt (1. - t * t);
+ if( denom == 0 ) {
+ return pj_default_destructor(P, PJD_ERR_LAT_0_OR_ALPHA_EQ_90);
+ }
+ Q->m = cos (alpha) / denom;
Q->rmn = 1. / (Q->m * Q->n);
P->es = 0.;