aboutsummaryrefslogtreecommitdiff
path: root/src/PJ_aea.c
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2017-05-23 23:21:09 +0200
committerKristian Evers <kristianevers@gmail.com>2017-05-24 11:20:08 +0200
commit9e402c2577e702dd0d45df35502dea08b774e072 (patch)
treed00fad109f156f22bc7280c08feb7da6b942cf9c /src/PJ_aea.c
parentaf14ae2be7ec4ebb97825ac5578558d144953d27 (diff)
downloadPROJ-9e402c2577e702dd0d45df35502dea08b774e072.tar.gz
PROJ-9e402c2577e702dd0d45df35502dea08b774e072.zip
Avoid zero division in PJ_aea.c setup().
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1791 Credit to OSS-Fuzz.
Diffstat (limited to 'src/PJ_aea.c')
-rw-r--r--src/PJ_aea.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/PJ_aea.c b/src/PJ_aea.c
index e6bb413c..524657b2 100644
--- a/src/PJ_aea.c
+++ b/src/PJ_aea.c
@@ -165,6 +165,8 @@ static PJ *setup(PJ *P) {
cosphi = cos(Q->phi2);
m2 = pj_msfn(sinphi, cosphi, P->es);
ml2 = pj_qsfn(sinphi, P->e, P->one_es);
+ if (ml2 == ml1)
+ return NULL;
Q->n = (m1 * m1 - m2 * m2) / (ml2 - ml1);
}
Q->ec = 1. - .5 * P->one_es * log((1. - P->e) /