]> granicus.if.org Git - postgis/commitdiff
Plug nodes leak in _lwt_AddEdge
authorSandro Santilli <strk@keybit.net>
Wed, 26 Aug 2015 11:02:50 +0000 (11:02 +0000)
committerSandro Santilli <strk@keybit.net>
Wed, 26 Aug 2015 11:02:50 +0000 (11:02 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@14001 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/lwgeom_topo.c

index 86b1e7be8309c3a4c834dd5d1e42995fae41ad64..1fc81fba0fbadefb44e12a393cf30e632667707c 100644 (file)
@@ -2271,6 +2271,7 @@ _lwt_AddEdge( LWT_TOPOLOGY* topo,
       }
       else if ( newedge.face_left != node->containing_face )
       {
+        _lwt_release_nodes(endpoints, num_nodes);
         lwerror("SQL/MM Spatial exception - geometry crosses an edge"
                 " (endnodes in faces %" LWTFMT_ELEMID " and %" LWTFMT_ELEMID ")",
                 newedge.face_left, node->containing_face);
@@ -2286,6 +2287,7 @@ _lwt_AddEdge( LWT_TOPOLOGY* topo,
       end_node_geom = node->geom;
     } 
   }
+  if ( num_nodes ) _lwt_release_nodes(endpoints, num_nodes);
 
   if ( ! skipChecks )
   {