From 144a611f844450f5ce4528772136f985c92406fe Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 9 Jun 2020 17:24:20 +0200 Subject: Conversion::_exportToPROJString(): avoid potential floating point div by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23239 --- src/iso19111/coordinateoperation.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/iso19111/coordinateoperation.cpp b/src/iso19111/coordinateoperation.cpp index ecc3df06..63363ff2 100644 --- a/src/iso19111/coordinateoperation.cpp +++ b/src/iso19111/coordinateoperation.cpp @@ -6259,9 +6259,11 @@ void Conversion::_exportToPROJString( common::UnitOfMeasure::Type::LINEAR) .exportToPROJString(); auto reverse_uom = - common::UnitOfMeasure(std::string(), 1.0 / convFactor, - common::UnitOfMeasure::Type::LINEAR) - .exportToPROJString(); + convFactor == 0.0 + ? std::string() + : common::UnitOfMeasure(std::string(), 1.0 / convFactor, + common::UnitOfMeasure::Type::LINEAR) + .exportToPROJString(); if (uom == "m") { // do nothing } else if (!uom.empty()) { -- cgit v1.2.3