]> granicus.if.org Git - postgis/commitdiff
Fix memory leak in _lwt_CheckEdgeCrossing, used by edge adding funx
authorSandro Santilli <strk@keybit.net>
Wed, 26 Aug 2015 10:19:58 +0000 (10:19 +0000)
committerSandro Santilli <strk@keybit.net>
Wed, 26 Aug 2015 10:19:58 +0000 (10:19 +0000)
Thanks Alessandro Furieri for spotting this

git-svn-id: http://svn.osgeo.org/postgis/trunk@13999 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/lwgeom_topo.c

index 8df4b246500ee1c70b36eb3ba5c41a428d900435..c28d63f86ce4e6b886ad0a6f856faddd23b386e0 100644 (file)
@@ -666,10 +666,11 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
 
     match = GEOSRelatePatternMatch(relate, "F********");
     if ( match ) {
+      /* error or no interior intersection */
+      GEOSGeom_destroy(eegg);
       if ( match == 2 ) {
         GEOSPreparedGeom_destroy(prepared_edge);
         GEOSGeom_destroy(edgegg);
-        GEOSGeom_destroy(eegg);
         GEOSFree(relate);
         lwerror("GEOSRelatePatternMatch error: %s", lwgeom_geos_errmsg);
         return -1;