[PostGIS] #5905: Server crashes when input geometries with excessive nesting are passed to ST_DumpPoints or ST_DumpSegments
PostGIS
trac at osgeo.org
Tue May 27 19:32:29 PDT 2025
#5905: Server crashes when input geometries with excessive nesting are passed to
ST_DumpPoints or ST_DumpSegments
-------------------------------------------------+-------------------------
Reporter: dmyzl | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS
| 3.5.3
Component: postgis | Version: 3.5.x
Keywords: ST_DumpPoints ST_DumpSegments crash |
-------------------------------------------------+-------------------------
The server crashes when executing the following SQL statement:
{{{
select geom_dump.path,st_asewkt(geom_dump.geom) from
ST_DumpPoints(ST_GeomFromText('geometrycollection(geometrycollection(
geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(
geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(
geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(
geometrycollection(multipoint empty,point(0 0), multilinestring empty,
multilinestring((0 0, 1 1 ),(1 1, 2
2)))))))))))))))))))))))))))))))))))',4269)) as geom_dump;
select geom_dump.path,st_asewkt(geom_dump.geom) from
ST_DumpSegments(ST_GeomFromText('geometrycollection(geometrycollection(
geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(
geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(
geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(geometrycollection(
geometrycollection(multipoint empty,point(0 0), multilinestring empty,
multilinestring((0 0, 1 1 ),(1 1, 2
2)))))))))))))))))))))))))))))))))))',4269)) as geom_dump;
}}}
postgis_full_version:
{{{
POSTGIS="3.5.3 0" [EXTENSION] PGSQL="170" GEOS="3.13.1-CAPI-1.19.2"
SFCGAL="SFCGAL 1.5.0, CGAL 5.6, BOOST 1.74.0" PROJ="9.3.1
NETWORK_ENABLED=OFF URL_ENDPOINT=https://cdn.proj.org
USER_WRITABLE_DIRECTORY=/home/yzl/.local/share/proj
DATABASE_PATH=/home/yzl/project/build_pg_postgis/proj-9.3.1/tmp_install/share/proj/proj.db"
(compiled against PROJ 9.3.1) GDAL="GDAL 3.7.2, released 2023/09/05"
LIBXML="2.9.13" LIBJSON="0.17" LIBPROTOBUF="1.3.3" WAGYU="0.5.0
(Internal)" (core procs from "3.5.2 dea6d0a" need upgrade) TOPOLOGY
(topology procs from "3.5.2 dea6d0a" need upgrade) RASTER (raster procs
from "3.5.2 dea6d0a" need upgrade) (sfcgal procs from "3.5.2 dea6d0a" need
upgrade)
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5905>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list