From: Sarah Hoffmann Date: Thu, 13 Oct 2016 06:03:28 +0000 (+0200) Subject: slightly relax viewbox parameter check X-Git-Tag: v3.0.0~102 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/8650e0fedd9a059170456c1af68a924d4a1f98e0 slightly relax viewbox parameter check Allow out of bounds parameters as long as the resulting box covers some legal coodinates. --- diff --git a/lib/Geocode.php b/lib/Geocode.php index 273fc0f0..7fa349ca 100644 --- a/lib/Geocode.php +++ b/lib/Geocode.php @@ -180,14 +180,15 @@ class Geocode { $this->aViewBox = array_map('floatval', $aViewbox); - if ($this->aViewBox[0] < -180 - || $this->aViewBox[2] > 180 - || $this->aViewBox[0] >= $this->aViewBox[2] - || $this->aViewBox[1] < -90 - || $this->aViewBox[3] > 90 - || $this->aViewBox[1] >= $this->aViewBox[3] + $this->aViewBox[0] = max(-180.0, min(180, $this->aViewBox[0])); + $this->aViewBox[1] = max(-90.0, min(90, $this->aViewBox[1])); + $this->aViewBox[2] = max(-180.0, min(180, $this->aViewBox[2])); + $this->aViewBox[3] = max(-90.0, min(90, $this->aViewBox[3])); + + if (abs($this->aViewBox[0] - $this->aViewBox[2]) < 0.000000001 + || abs($this->aViewBox[1] - $this->aViewBox[3]) < 0.000000001 ) { - userError("Bad parameter 'viewbox'. Out of range."); + userError("Bad parameter 'viewbox'. Not a box."); } $fHeight = $this->aViewBox[0] - $this->aViewBox[2];