diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2017-05-23 22:28:43 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2017-05-23 22:28:43 +0200 |
| commit | bdb02c7c5a36d501b8c856dee539a5f28db2c36f (patch) | |
| tree | 23a3a5329ca0756214e26b13c76860369d19af93 /src/pj_transform.c | |
| parent | 52d5ea847b5ea712ba9f975f2c1aafe9f1798ff5 (diff) | |
| download | PROJ-bdb02c7c5a36d501b8c856dee539a5f28db2c36f.tar.gz PROJ-bdb02c7c5a36d501b8c856dee539a5f28db2c36f.zip | |
pj_transform(): fix segfault when z == NULL and dest defn has a fwd3d
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1794
Credit to OSS Fuzz
Diffstat (limited to 'src/pj_transform.c')
| -rw-r--r-- | src/pj_transform.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/pj_transform.c b/src/pj_transform.c index 212d8842..f566fcfc 100644 --- a/src/pj_transform.c +++ b/src/pj_transform.c @@ -344,6 +344,13 @@ int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset, if( dstdefn->fwd3d != NULL) { + /* Three dimensions must be defined */ + if ( z == NULL) + { + pj_ctx_set_errno( pj_get_ctx(dstdefn), PJD_ERR_GEOCENTRIC); + return PJD_ERR_GEOCENTRIC; + } + for( i = 0; i < point_count; i++ ) { XYZ projected_loc; |
