[geos-devel] [GEOS] #994: Segfault in UnaryUnionOp (::buildGeometry, something with C++ strings!)

GEOS geos-trac at osgeo.org
Mon Oct 7 02:01:06 PDT 2019


#994: Segfault in UnaryUnionOp (::buildGeometry, something with C++ strings!)
------------------------+---------------------------
 Reporter:  strk        |       Owner:  geos-devel@…
     Type:  defect      |      Status:  new
 Priority:  blocker     |   Milestone:
Component:  Default     |     Version:  master
 Severity:  Unassigned  |  Resolution:
 Keywords:              |
------------------------+---------------------------

Comment (by strk):

 Valgrind view of the matter:
 {{{
 ==26567== Invalid read of size 8
 ==26567==    at 0x25936383:
 geos::operation::geounion::OverlapUnion::unionBuffer(geos::geom::Geometry
 const*, geos::geom::Geometry const*) (OverlapUnion.cpp:133)
 ==26567==    by 0x259364F2:
 geos::operation::geounion::OverlapUnion::unionFull(geos::geom::Geometry
 const*, geos::geom::Geometry const*) (OverlapUnion.cpp:119)
 ==26567==    by 0x25936F18:
 geos::operation::geounion::OverlapUnion::doUnion() (OverlapUnion.cpp:55)
 ==26567==    by 0x259331AC:
 geos::operation::geounion::CascadedPolygonUnion::unionActual(geos::geom::Geometry*,
 geos::geom::Geometry*) (CascadedPolygonUnion.cpp:243)
 ==26567==    by 0x25933242:
 geos::operation::geounion::CascadedPolygonUnion::unionSafe(geos::geom::Geometry*,
 geos::geom::Geometry*) (CascadedPolygonUnion.cpp:234)
 ==26567==    by 0x25933343:
 geos::operation::geounion::CascadedPolygonUnion::binaryUnion(geos::operation::geounion::GeometryListHolder*,
 unsigned long, unsigned long) (CascadedPolygonUnion.cpp:191)
 ==26567==    by 0x259336DF:
 geos::operation::geounion::CascadedPolygonUnion::unionTree(geos::index::strtree::ItemsList*)
 (CascadedPolygonUnion.cpp:168)
 ==26567==    by 0x2593349B:
 geos::operation::geounion::CascadedPolygonUnion::reduceToGeometries(geos::index::strtree::ItemsList*)
 (CascadedPolygonUnion.cpp:205)
 ==26567==    by 0x259336D1:
 geos::operation::geounion::CascadedPolygonUnion::unionTree(geos::index::strtree::ItemsList*)
 (CascadedPolygonUnion.cpp:167)
 ==26567==    by 0x2593349B:
 geos::operation::geounion::CascadedPolygonUnion::reduceToGeometries(geos::index::strtree::ItemsList*)
 (CascadedPolygonUnion.cpp:205)
 ==26567==    by 0x259336D1:
 geos::operation::geounion::CascadedPolygonUnion::unionTree(geos::index::strtree::ItemsList*)
 (CascadedPolygonUnion.cpp:167)
 ==26567==    by 0x259337FC:
 geos::operation::geounion::CascadedPolygonUnion::Union()
 (CascadedPolygonUnion.cpp:156)
 ==26567==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
 }}}

-- 
Ticket URL: <https://trac.osgeo.org/geos/ticket/994#comment:2>
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