From 30987ca346eb70e1009ce83dd51083cc8a2fea75 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Tue, 23 Apr 2013 19:42:36 +0200 Subject: [PATCH] Fixed crash in error path for GET DATA --- src/language/data-io/get-data.c | 9 ++++++++- tests/language/data-io/get.at | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/language/data-io/get-data.c b/src/language/data-io/get-data.c index 2e7df57f02..321bd887ea 100644 --- a/src/language/data-io/get-data.c +++ b/src/language/data-io/get-data.c @@ -57,8 +57,15 @@ static int parse_get_psql (struct lexer *lexer, struct dataset *); int cmd_get_data (struct lexer *lexer, struct dataset *ds) { - struct spreadsheet_read_options opts; char *tok = NULL; + struct spreadsheet_read_options opts; + + opts.sheet_name = NULL; + opts.sheet_index = -1; + opts.cell_range = NULL; + opts.read_names = false; + opts.asw = -1; + lex_force_match (lexer, T_SLASH); if (!lex_force_match_id (lexer, "TYPE")) diff --git a/tests/language/data-io/get.at b/tests/language/data-io/get.at index b9a187f292..9f49b57744 100644 --- a/tests/language/data-io/get.at +++ b/tests/language/data-io/get.at @@ -90,3 +90,13 @@ x,y,z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w GET_KEEP_ALL([uncompressed]) GET_KEEP_ALL([compressed]) + +dnl Test for a crash when no /TYPE was provided +AT_SETUP([GET data no type]) +AT_DATA([get.sps], [dnl +get data /file='anything'. +]) + +AT_CHECK([pspp get.sps], [1], [ignore]) + +AT_CLEANUP -- 2.30.2