aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-08-10 10:00:41 +0200
committerEven Rouault <even.rouault@spatialys.com>2021-08-10 10:04:50 +0200
commit1e6ef36db92406f96fe9cc3fa7f75db1cba7254b (patch)
tree494587cc6f8a08a26fe32152df3ff64e64350469 /src
parente41092a9392ef76967e2c45f5c015cb6e5353b64 (diff)
downloadPROJ-1e6ef36db92406f96fe9cc3fa7f75db1cba7254b.tar.gz
PROJ-1e6ef36db92406f96fe9cc3fa7f75db1cba7254b.zip
Conversion::createUTM(): avoid integer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36751
Diffstat (limited to 'src')
-rw-r--r--src/iso19111/operation/conversion.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/iso19111/operation/conversion.cpp b/src/iso19111/operation/conversion.cpp
index e2e77562..e884db3c 100644
--- a/src/iso19111/operation/conversion.cpp
+++ b/src/iso19111/operation/conversion.cpp
@@ -331,6 +331,9 @@ Conversion::create(const util::PropertyMap &properties,
*/
ConversionNNPtr Conversion::createUTM(const util::PropertyMap &properties,
int zone, bool north) {
+ if (zone < 1 || zone > 60) {
+ throw InvalidOperation("Invalid zone number");
+ }
return create(
getUTMConversionProperty(properties, zone, north),
EPSG_CODE_METHOD_TRANSVERSE_MERCATOR,