[SCM] PostGIS branch master updated. 3.5.0-45-g0faa57478
git at osgeo.org
git at osgeo.org
Thu Nov 7 07:18:53 PST 2024
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".
The branch, master has been updated
via 0faa57478a4be56fa77587a6e6da1a7035134c3b (commit)
from 6366bd678d2121ad2c3609f39db37b249030f04a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0faa57478a4be56fa77587a6e6da1a7035134c3b
Author: Sandro Santilli <strk at kbt.io>
Date: Thu Nov 7 16:18:25 2024 +0100
Simplify releasing of GEOS memory
References #5808
diff --git a/liblwgeom/topo/lwgeom_topo.c b/liblwgeom/topo/lwgeom_topo.c
index 6cf6ccaec..64f2bb1bc 100644
--- a/liblwgeom/topo/lwgeom_topo.c
+++ b/liblwgeom/topo/lwgeom_topo.c
@@ -691,8 +691,8 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
/* check if the edge has a non-boundary-boundary intersection with our edge */
relate = GEOSRelateBoundaryNodeRule(eegg, edgegg, 2);
+ GEOSGeom_destroy(eegg);
if ( ! relate ) {
- GEOSGeom_destroy(eegg);
GEOSGeom_destroy(edgegg);
_lwt_release_edges(edges, num_edges);
lwerror("GEOSRelateBoundaryNodeRule error: %s", lwgeom_geos_errmsg);
@@ -704,7 +704,6 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
match = GEOSRelatePatternMatch(relate, "FF*F*****");
if ( match ) {
/* error or no interior intersection */
- GEOSGeom_destroy(eegg);
GEOSFree(relate);
if ( match == 2 ) {
_lwt_release_edges(edges, num_edges);
@@ -719,7 +718,6 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
if ( match ) {
_lwt_release_edges(edges, num_edges);
GEOSGeom_destroy(edgegg);
- GEOSGeom_destroy(eegg);
GEOSFree(relate);
if ( match == 2 ) {
lwerror("GEOSRelatePatternMatch error: %s", lwgeom_geos_errmsg);
@@ -734,7 +732,6 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
if ( match ) {
_lwt_release_edges(edges, num_edges);
GEOSGeom_destroy(edgegg);
- GEOSGeom_destroy(eegg);
GEOSFree(relate);
if ( match == 2 ) {
lwerror("GEOSRelatePatternMatch error: %s", lwgeom_geos_errmsg);
@@ -749,7 +746,6 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
if ( match ) {
_lwt_release_edges(edges, num_edges);
GEOSGeom_destroy(edgegg);
- GEOSGeom_destroy(eegg);
GEOSFree(relate);
if ( match == 2 ) {
lwerror("GEOSRelatePatternMatch error: %s", lwgeom_geos_errmsg);
@@ -764,7 +760,6 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
if ( match ) {
_lwt_release_edges(edges, num_edges);
GEOSGeom_destroy(edgegg);
- GEOSGeom_destroy(eegg);
GEOSFree(relate);
if ( match == 2 ) {
lwerror("GEOSRelatePatternMatch error: %s", lwgeom_geos_errmsg);
@@ -779,7 +774,6 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
if ( match ) {
_lwt_release_edges(edges, num_edges);
GEOSGeom_destroy(edgegg);
- GEOSGeom_destroy(eegg);
GEOSFree(relate);
if ( match == 2 ) {
lwerror("GEOSRelatePatternMatch error: %s", lwgeom_geos_errmsg);
@@ -792,7 +786,6 @@ _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,
LWDEBUGF(2, "Edge %" LWTFMT_ELEMID " analisys completed, it does no harm", edge_id);
GEOSFree(relate);
- GEOSGeom_destroy(eegg);
}
LWDEBUGF(1, "No edge crossing detected among the %lu candidate edges", num_edges);
if ( edges ) _lwt_release_edges(edges, num_edges);
-----------------------------------------------------------------------
Summary of changes:
liblwgeom/topo/lwgeom_topo.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list