From f4e37b9742cc762c989f8896e14abc7901595835 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 23 Feb 2016 15:53:12 +0000 Subject: [PATCH] Fix crash on face-collapsing edge change See #3463 git-svn-id: http://svn.osgeo.org/postgis/trunk@14666 b70326c6-7e19-0410-871a-916f4a2858ee --- liblwgeom/lwgeom_topo.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/liblwgeom/lwgeom_topo.c b/liblwgeom/lwgeom_topo.c index 2372319e0..d2741c36f 100644 --- a/liblwgeom/lwgeom_topo.c +++ b/liblwgeom/lwgeom_topo.c @@ -3586,6 +3586,13 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom) if ( oldedge->face_left != 0 ) { nface1 = lwt_GetFaceGeometry(topo, oldedge->face_left); + if ( ! nface1 ) + { + lwerror("lwt_ChangeEdgeGeom could not construct face %" + PRId64 ", on the left of edge %" PRId64, + oldedge->face_left, edge_id); + return -1; + } #if 0 { size_t sz; @@ -3604,6 +3611,13 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom) && oldedge->face_right != oldedge->face_left ) { nface2 = lwt_GetFaceGeometry(topo, oldedge->face_right); + if ( ! nface2 ) + { + lwerror("lwt_ChangeEdgeGeom could not construct face %" + PRId64 ", on the right of edge %" PRId64, + oldedge->face_right, edge_id); + return -1; + } #if 0 { size_t sz; -- 2.40.0