[postgis-tickets] [SCM] PostGIS branch stable-3.3 updated. 3.3.4-13-g34bb99a73

git at osgeo.org git at osgeo.org
Mon Sep 18 12:35:20 PDT 2023


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, stable-3.3 has been updated
       via  34bb99a738e00a88269cb6139611036c75b257d7 (commit)
      from  ff43fb6fa40b73abb5d69582b3d249fa92516c5e (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 34bb99a738e00a88269cb6139611036c75b257d7
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Sep 18 12:32:02 2023 -0700

    Avoid reading past the end of varlena_t data buffer

diff --git a/NEWS b/NEWS
index c59d501af..8be4265ee 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,8 @@ YYYY/MM/DD
           what it intends to do (Jelte Fennema)
  - #5494, Fix double-upgrade with view using st_dwithin(text, ...)
           (Sandro Santilli)
+ - Fix JsonB casting issue (Paul Ramsey)
+
 
 PostGIS 3.3.4
 2023/07/28
diff --git a/postgis/lwgeom_export.c b/postgis/lwgeom_export.c
index 8bc9c1916..e2d8731dc 100644
--- a/postgis/lwgeom_export.c
+++ b/postgis/lwgeom_export.c
@@ -286,6 +286,7 @@ Datum geometry_to_jsonb(PG_FUNCTION_ARGS)
 	GSERIALIZED *geom = PG_GETARG_GSERIALIZED_P(0);
 	LWGEOM *lwgeom = lwgeom_from_gserialized(geom);
 	const char *srs = NULL;
+	char *cstr;
 	lwvarlena_t *geojson;
 	if (lwgeom->srid != SRID_UNKNOWN)
 	{
@@ -294,7 +295,9 @@ Datum geometry_to_jsonb(PG_FUNCTION_ARGS)
 	}
 	geojson = lwgeom_to_geojson(lwgeom, srs, 15, 0);
 	lwgeom_free(lwgeom);
-	PG_RETURN_DATUM(DirectFunctionCall1(jsonb_in, PointerGetDatum(text_to_cstring(geojson))));
+	cstr = palloc0(VARSIZE_ANY_EXHDR(geojson) + 1);
+	memcpy(cstr, VARDATA(geojson), VARSIZE_ANY_EXHDR(geojson));
+	PG_RETURN_DATUM(DirectFunctionCall1(jsonb_in, PointerGetDatum(cstr)));
 }
 
 

-----------------------------------------------------------------------

Summary of changes:
 NEWS                    | 2 ++
 postgis/lwgeom_export.c | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list