diff options
| author | Even Rouault <even.rouault@mines-paris.org> | 2019-04-01 15:23:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-04-01 15:23:46 +0200 |
| commit | 0fcfcd20688dbadf01df83fdeaa038346f45c163 (patch) | |
| tree | 2f451eec1a941483d85ccac2071eecd8604be041 /src/projections/tpeqd.cpp | |
| parent | a4eb9f255d3f08985fc9360660202e3b00cad958 (diff) | |
| parent | ff1e495525969352f83507950dd4e1fd3cec69c2 (diff) | |
| download | PROJ-0fcfcd20688dbadf01df83fdeaa038346f45c163.tar.gz PROJ-0fcfcd20688dbadf01df83fdeaa038346f45c163.zip | |
Merge pull request #1396 from rouault/ossfuzz_13947_13948
Ossfuzz 13947 13948
Diffstat (limited to 'src/projections/tpeqd.cpp')
| -rw-r--r-- | src/projections/tpeqd.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/projections/tpeqd.cpp b/src/projections/tpeqd.cpp index 20921de4..9904bb8c 100644 --- a/src/projections/tpeqd.cpp +++ b/src/projections/tpeqd.cpp @@ -87,6 +87,10 @@ PJ *PROJECTION(tpeqd) { Q->sc = Q->sp1 * Q->cp2; Q->ccs = Q->cp1 * Q->cp2 * sin(Q->dlam2); Q->z02 = aacos(P->ctx, Q->sp1 * Q->sp2 + Q->cp1 * Q->cp2 * cos (Q->dlam2)); + if( Q->z02 == 0.0 ) { + // Actually happens when both lat_1 = lat_2 and |lat_1| = 90 + return pj_default_destructor(P, PJD_ERR_LAT_1_OR_2_ZERO_OR_90); + } Q->hz0 = .5 * Q->z02; A12 = atan2(Q->cp2 * sin (Q->dlam2), Q->cp1 * Q->sp2 - Q->sp1 * Q->cp2 * cos (Q->dlam2)); |
