Opened 4 years ago
Closed 4 years ago
#992 closed defect (fixed)
Better support for empty geometries
Reported by: | jng | Owned by: | jng |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | FDO API | Version: | |
Severity: | 1 | Keywords: | |
Cc: | External ID: |
Description
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 ofLINESTRING 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.
Note:
See TracTickets
for help on using tickets.