From: Mark Cave-Ayland Date: Sat, 13 Apr 2013 17:36:22 +0000 (+0000) Subject: Fix for bug #2272: shp2pgsql-gui crashes when given filenames with dots. X-Git-Tag: 2.1.0beta2~102 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=96bcfdc65603828d3e3bc49e1e22b991538b6dab;p=postgis Fix for bug #2272: shp2pgsql-gui crashes when given filenames with dots. This was a combination of two bugs: firstly, we weren't initialising the state variable field_names to NULL, and so if the variable happened to be filled with junk and we were unable to import a shape file, we would end up freeing a random pointer. Secondly, shapelib tries to be clever and strip off any file extension by searching for a "." character from the end of the filename, hence causing the truncation of the filename. Resolve this by leaving the .shp/.dbf extension from the file selector in the filename string so that shapelib does the right thing. git-svn-id: http://svn.osgeo.org/postgis/trunk@11292 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/loader/shp2pgsql-core.c b/loader/shp2pgsql-core.c index 9be37360d..0ed441bd3 100644 --- a/loader/shp2pgsql-core.c +++ b/loader/shp2pgsql-core.c @@ -792,6 +792,7 @@ ShpLoaderCreate(SHPLOADERCONFIG *config) state->widths = NULL; state->precisions = NULL; state->col_names = NULL; + state->field_names = NULL; state->from_srid = config->shp_sr_id; state->to_srid = config->sr_id; diff --git a/loader/shp2pgsql-gui.c b/loader/shp2pgsql-gui.c index 13b46f3e0..fc27fa79c 100644 --- a/loader/shp2pgsql-gui.c +++ b/loader/shp2pgsql-gui.c @@ -931,9 +931,6 @@ create_new_file_config(const char *filename) table_end = loader_file_config->shp_file + strlen(loader_file_config->shp_file); while (*table_end != '.' && table_end > loader_file_config->shp_file && table_end > table_start ) table_end--; - - /* Sneakily remove .shp from shp_file */ - *table_end = '\0'; /* Copy the table name */ loader_file_config->table = malloc(table_end - table_start + 1);