From 3aed84243a8188b54d19d7e9c26028796eb398b0 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Fri, 5 Apr 2019 12:54:56 +0200 Subject: _buildUnit(): avoid later division by zero Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14055 Credit to OSS Fuzz --- src/iso19111/io.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/iso19111/io.cpp') diff --git a/src/iso19111/io.cpp b/src/iso19111/io.cpp index 51fda1c1..360d55a2 100644 --- a/src/iso19111/io.cpp +++ b/src/iso19111/io.cpp @@ -6091,6 +6091,9 @@ static UnitOfMeasure _buildUnit(const LinearUnitDesc *unitsMatch) { static UnitOfMeasure _buildUnit(double to_meter_value) { // TODO: look-up in EPSG catalog + if (to_meter_value == 0) { + throw ParsingException("invalid unit value"); + } return UnitOfMeasure("unknown", to_meter_value, UnitOfMeasure::Type::LINEAR); } -- cgit v1.2.3