[Fdo-trac] [fdo-trac] #992: Better support for empty geometries

FDO trac_fdo at osgeo.org
Wed May 12 05:24:27 PDT 2021


#992: Better support for empty geometries
------------------------+----------------------
   Reporter:  jng       |      Owner:  jng
       Type:  defect    |     Status:  assigned
   Priority:  critical  |  Milestone:
  Component:  FDO API   |    Version:
   Severity:  1         |   Keywords:
External ID:            |
------------------------+----------------------
 As indicated by this thread:

 https://lists.osgeo.org/pipermail/mapguide-users/2021-April/034446.html

 FDO has an API-wide inability to properly handle empty geometries:

  * `FdoSpatialUtility` (that drives the spatial predicate testing in the
 SQLite provider) incorrectly assumes that both geometry operands are not
 empty, causing exceptions to be thrown if testing spatial predicates and
 one of the geometries is empty
  * Attempting to get the WKT of a deserialized `FdoIGeometry` instance
 that is empty (eg. A LineString with 0 points or a Polygon with no rings
 or a multi- geometry with no component geometries) either produces the
 incorrect WKT (eg. `LINESTRING ()` instead of `LINESTRING EMPTY`) or worse
 it corrupts the heap due to the WKT conversion code de-allocating a
 0-length string buffer due to assuming the input geometry is not empty.

 This current limitation is causing havoc at the MapGuide level where this
 inability to properly handle empty geometries has potential to crash and
 destabilize the web tier.

-- 
Ticket URL: <https://trac.osgeo.org/fdo/ticket/992>
FDO <http://fdo.osgeo.org/>
Feature Data Objects


More information about the fdo-trac mailing list