diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-09-20 18:50:29 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2021-09-20 18:50:29 +0200 |
| commit | 4ff0aea1879b594dd6317edc50fe1fea34974f2f (patch) | |
| tree | a2d6a644ab573c4599aa85f9caffdecbe587a4a6 /src/iso19111 | |
| parent | 5f3f02163e9611cec7713b1885ed61d4823946a1 (diff) | |
| download | PROJ-4ff0aea1879b594dd6317edc50fe1fea34974f2f.tar.gz PROJ-4ff0aea1879b594dd6317edc50fe1fea34974f2f.zip | |
Conversion::inverse(): avoid harmless division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39033
Diffstat (limited to 'src/iso19111')
| -rw-r--r-- | src/iso19111/operation/conversion.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
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)); |
