]> granicus.if.org Git - postgis/commitdiff
More leaks plugged in _lwt_CheckEdgeCrossing
authorSandro Santilli <strk@keybit.net>
Wed, 26 Aug 2015 11:02:44 +0000 (11:02 +0000)
committerSandro Santilli <strk@keybit.net>
Wed, 26 Aug 2015 11:02:44 +0000 (11:02 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@14000 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/lwgeom_topo.c

index c28d63f86ce4e6b886ad0a6f856faddd23b386e0..86b1e7be8309c3a4c834dd5d1e42995fae41ad64 100644 (file)
@@ -603,7 +603,7 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
     {
       GEOSPreparedGeom_destroy(prepared_edge);
       GEOSGeom_destroy(edgegg);
-      lwfree(nodes);
+      _lwt_release_nodes(nodes, num_nodes);
       lwerror("GEOS exception on PreparedContains: %s", lwgeom_geos_errmsg);
       return -1;
     }
@@ -611,12 +611,13 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
     {
       GEOSPreparedGeom_destroy(prepared_edge);
       GEOSGeom_destroy(edgegg);
-      lwfree(nodes);
+      _lwt_release_nodes(nodes, num_nodes);
       lwerror("SQL/MM Spatial exception - geometry crosses a node");
       return -1;
     }
   }
-  if ( nodes ) lwfree(nodes); /* may be NULL if num_nodes == 0 */
+  if ( nodes ) _lwt_release_nodes(nodes, num_nodes);
+               /* may be NULL if num_nodes == 0 */
 
   /* loop over each edge within the edge's gbox */
   edges = lwt_be_getEdgeWithinBox2D( topo, edgebox, &num_edges, LWT_COL_EDGE_ALL, 0 );