]> granicus.if.org Git - postgis/commitdiff
MVT: Fix resource leak when the first geometry is NULL
authorRaúl Marín Rodríguez <rmrodriguez@carto.com>
Wed, 29 Aug 2018 09:36:48 +0000 (09:36 +0000)
committerRaúl Marín Rodríguez <rmrodriguez@carto.com>
Wed, 29 Aug 2018 09:36:48 +0000 (09:36 +0000)
Closes #4163

git-svn-id: http://svn.osgeo.org/postgis/trunk@16710 b70326c6-7e19-0410-871a-916f4a2858ee

NEWS
postgis/mvt.c

diff --git a/NEWS b/NEWS
index d2d549a0a06d36af173f0c4a493f0135c92afe12..f15fefe425fad1c61eb62f0306a46e85613b693b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,11 @@
 PostGIS 3.0.0
 2019/xx/xx
-* Enhancements *
+* Enhancements and fixes *
   - #4153, ST_Segmentize now splits segments proportionally (Darafei
     Praliaskouski).
   - #4162, ST_DWithin documentation examples for storing geometry and
     radius in table (Darafei Praliaskouski, github user Boscop).
+  - #4163, MVT: Fix resource leak when the first geometry is NULL (Raúl Marín)
 
 PostGIS 2.5.0rc1
 2018/08/19
index 9248563063ce00d7586ccf72d116a4a8fd22aef5..cdca7e68d1eda1c694a6dd73a4e8fe11b7d363fa 100644 (file)
@@ -894,6 +894,7 @@ void mvt_agg_init_context(mvt_agg_context *ctx)
        ctx->bool_values_hash = NULL;
        ctx->values_hash_i = 0;
        ctx->keys_hash_i = 0;
+       ctx->geom_index = UINT32_MAX;
 
        memset(&ctx->column_cache, 0, sizeof(ctx->column_cache));
 
@@ -936,7 +937,7 @@ void mvt_agg_transfn(mvt_agg_context *ctx)
                POSTGIS_DEBUGF(3, "mvt_agg_transfn new_capacity: %zd", new_capacity);
        }
 
-       if (layer->n_features == 0)
+       if (ctx->geom_index == UINT32_MAX)
                parse_column_keys(ctx);
 
        datum = GetAttributeByNum(ctx->row, ctx->geom_index + 1, &isnull);