unchecked return value returned by _lwt_CheckEdgeCrossing()
_lwt_CheckEdgeCrossing() is called twice within the lwgeom_topo.c source (near lines 766 and 2144), and in both cases its return value is systematically ignored.
a more robust implementation should always test the return value then immediately returning an error when this function identifies a topology inconsistency, something like this:
if ( ! skipISOChecks )
- _lwt_CheckEdgeCrossing( topo, startNode, endNode, geom );
+ {
+ if (_lwt_CheckEdgeCrossing( topo, startNode, endNode, geom ) < 0)
+ return -1;
+ }
Change History
(3)
Component: |
liblwgeom → topology
|
Owner: |
changed from pramsey to strk
|
Resolution: |
→ fixed
|
Status: |
new → closed
|
Thanks, fixed by r13876