From 4ff0aea1879b594dd6317edc50fe1fea34974f2f Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Mon, 20 Sep 2021 18:50:29 +0200 Subject: Conversion::inverse(): avoid harmless division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39033 --- src/iso19111/operation/conversion.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/iso19111/operation/conversion.cpp b/src/iso19111/operation/conversion.cpp index 3db62a7d..9927892d 100644 --- a/src/iso19111/operation/conversion.cpp +++ b/src/iso19111/operation/conversion.cpp @@ -2493,6 +2493,9 @@ CoordinateOperationNNPtr Conversion::inverse() const { if (methodEPSGCode == EPSG_CODE_METHOD_CHANGE_VERTICAL_UNIT) { const double convFactor = parameterValueNumericAsSI( EPSG_CODE_PARAMETER_UNIT_CONVERSION_SCALAR); + if (convFactor == 0) { + throw InvalidOperation("Invalid conversion factor"); + } auto conv = createChangeVerticalUnit( createPropertiesForInverse(this, false, false), common::Scale(1.0 / convFactor)); -- cgit v1.2.3