aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-09-17 19:41:15 +0000
committerEven Rouault <even.rouault@spatialys.com>2019-09-17 19:41:15 +0000
commit39ed5dda1722c55248399614ffd6a97668e43b03 (patch)
tree3e228fb164472d9e5b2020d4f2afb35ac1c340b6 /src
parentb66081ceef1481340017ba78fcf4b1dcc2176332 (diff)
downloadPROJ-39ed5dda1722c55248399614ffd6a97668e43b03.tar.gz
PROJ-39ed5dda1722c55248399614ffd6a97668e43b03.zip
helmert: validate scale parameter to avoid later division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16106
Diffstat (limited to 'src')
-rw-r--r--src/transformations/helmert.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/transformations/helmert.cpp b/src/transformations/helmert.cpp
index 63785ea5..7a3e64d0 100644
--- a/src/transformations/helmert.cpp
+++ b/src/transformations/helmert.cpp
@@ -612,6 +612,8 @@ PJ *TRANSFORMATION(helmert, 0) {
/* Scale */
if (pj_param (P->ctx, P->params, "ts").i) {
Q->scale_0 = pj_param (P->ctx, P->params, "ds").f;
+ if( Q->scale_0 <= -1.0e6 )
+ return pj_default_destructor (P, PJD_ERR_INVALID_SCALE);
if (pj_param (P->ctx, P->params, "ttheta").i && Q->scale_0 == 0.0)
return pj_default_destructor (P, PJD_ERR_INVALID_SCALE);
}