[geos-devel] [GEOS] #1085: RelateOp crashes on input with empty components
GEOS
geos-trac at osgeo.org
Thu Dec 10 06:31:40 PST 2020
#1085: RelateOp crashes on input with empty components
------------------------+--------------------------
Reporter: strk | Owner: geos-devel@…
Type: defect | Status: new
Priority: major | Milestone: 3.6.4
Component: Default | Version: 3.6.3
Severity: Unassigned | Keywords:
------------------------+--------------------------
From https://trac.osgeo.org/postgis/ticket/4814#comment:4
we observe a crash in RelateOp when inputs contain empty components.
Inputs:
{{{
LINESTRING(10 0,0 10)
MULTILINESTRING((10 -10,-10 10), EMPTY)
}}}
Valgrind report:
{{{
==21144== Invalid read of size 8
==21144== at 0x19D4F4C2: operator== (Coordinate.inl:123)
==21144== by 0x19D4F4C2:
geos::algorithm::PointLocator::locate(geos::geom::Coordinate const&,
geos::geom::LineString const*) (PointLocator.cpp:133)
==21144== by 0x19D4F870:
geos::algorithm::PointLocator::computeLocation(geos::geom::Coordinate
const&, geos::geom::Geometry const*) (PointLocator.cpp:82)
==21144== by 0x19D4FA88:
geos::algorithm::PointLocator::locate(geos::geom::Coordinate const&,
geos::geom::Geometry const*) (PointLocator.cpp:55)
==21144== by 0x19DDF78F:
geos::operation::relate::RelateComputer::labelIsolatedNode(geos::geomgraph::Node*,
int) (RelateComputer.cpp:509)
==21144== by 0x19DDF847:
geos::operation::relate::RelateComputer::labelIsolatedNodes()
(RelateComputer.cpp:499)
==21144== by 0x19DDFDCD:
geos::operation::relate::RelateComputer::computeIM()
(RelateComputer.cpp:162)
==21144== by 0x19DE0774:
geos::operation::relate::RelateOp::relate(geos::geom::Geometry const*,
geos::geom::Geometry const*) (RelateOp.cpp:42)
==21144== by 0x19D59710: relate (Geometry.cpp:456)
==21144== by 0x19D59710:
geos::geom::Geometry::intersects(geos::geom::Geometry const*) const
(Geometry.cpp:344)
==21144== by 0x194090E0: GEOSIntersects_r (geos_ts_c.cpp:500)
}}}
--
Ticket URL: <https://trac.osgeo.org/geos/ticket/1085>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
More information about the geos-devel
mailing list