X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/248fca51627a8989603344e813bf78e3131de4a8..756c23f39fcfa5d5a20ba587460f59cf2840e537:/lib/Geocode.php diff --git a/lib/Geocode.php b/lib/Geocode.php index 83618113..fd381c7a 100644 --- a/lib/Geocode.php +++ b/lib/Geocode.php @@ -180,6 +180,16 @@ 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] + ) { + userError("Bad parameter 'viewbox'. Out of range."); + } + $fHeight = $this->aViewBox[0] - $this->aViewBox[2]; $fWidth = $this->aViewBox[1] - $this->aViewBox[3]; $aBigViewBox[0] = $this->aViewBox[0] + $fHeight; @@ -258,10 +268,16 @@ class Geocode $aViewbox = $oParams->getStringList('viewboxlbrt'); if ($aViewbox) { + if (count($aViewbox) != 4) { + userError("Bad parmater 'viewbox'. Expected 4 coordinates."); + } $this->setViewbox($aViewbox); } else { $aViewbox = $oParams->getStringList('viewbox'); if ($aViewbox) { + if (count($aViewbox) != 4) { + userError("Bad parmater 'viewbox'. Expected 4 coordinates."); + } $this->setViewBox(array( $aViewbox[0], $aViewbox[3], @@ -880,7 +896,7 @@ class Geocode foreach ($aPhrases as $iPhrase => $sPhrase) { $aPhrase = chksql( $this->oDB->getRow("select make_standard_name('".pg_escape_string($sPhrase)."') as string"), - "Cannot nomralize query string (is it an UTF-8 string?)" + "Cannot normalize query string (is it a UTF-8 string?)" ); if (trim($aPhrase['string'])) { $aPhrases[$iPhrase] = $aPhrase;