From 7e5011888ad73a9b7ce2c9e0311fd7a99dadaa7d Mon Sep 17 00:00:00 2001 From: Regina Obe Date: Sun, 10 Sep 2017 02:22:40 +0000 Subject: [PATCH] Fix colmap dbf logic (should be i++ and not ++i). Also check if map != NULL before attempting size check. References PostGIS 2.4.0 for #3839 git-svn-id: http://svn.osgeo.org/postgis/trunk@15675 b70326c6-7e19-0410-871a-916f4a2858ee --- loader/shpcommon.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/loader/shpcommon.c b/loader/shpcommon.c index d1e3e1647..d9e25b1f1 100644 --- a/loader/shpcommon.c +++ b/loader/shpcommon.c @@ -166,24 +166,26 @@ colmap_init(colmap *map) void colmap_clean(colmap *map) { - int i; - if (map->size) - { - for (i = 0; i < map->size; i++) - { - if (map->pgfieldnames[i]) free(map->pgfieldnames[i]); - if (map->dbffieldnames[i]) free(map->dbffieldnames[i]); - } - free(map->pgfieldnames); - free(map->dbffieldnames); - } + int i; + if (map != NULL){ + if (map->size) + { + for (i = 0; i < map->size; i++) + { + if (map->pgfieldnames[i]) free(map->pgfieldnames[i]); + if (map->dbffieldnames[i]) free(map->dbffieldnames[i]); + } + free(map->pgfieldnames); + free(map->dbffieldnames); + } + } } const char * colmap_dbf_by_pg(colmap *map, const char *pgname) { int i; - for (i=0; isize; ++i) + for (i=0; isize; i++) { if (!strcasecmp(map->pgfieldnames[i], pgname)) { @@ -197,7 +199,7 @@ const char * colmap_pg_by_dbf(colmap *map, const char *dbfname) { int i; - for (i=0; isize; ++i) + for (i=0; isize; i++) { if (!strcasecmp(map->dbffieldnames[i], dbfname)) { -- 2.40.0