From: John Darrington <john@darrington.wattle.id.au>
Date: Sat, 26 Mar 2016 17:34:02 +0000 (+0100)
Subject: Fix bug in EXAMINE when an invalid dependent variable was specified.
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d2e0f5b77f409ac5b864233bcd555e0c167733d;p=pspp

Fix bug in EXAMINE when an invalid dependent variable was specified.

Found by zzuf.
---

diff --git a/src/language/stats/examine.c b/src/language/stats/examine.c
index 20cd2f4518..68b6411626 100644
--- a/src/language/stats/examine.c
+++ b/src/language/stats/examine.c
@@ -1942,7 +1942,8 @@ cmd_examine (struct lexer *lexer, struct dataset *ds)
   examine.boxplot = false;
   examine.spreadlevelplot = false;
   examine.sl_power = 0;
-  
+  examine.dep_vars = NULL;
+  examine.n_dep_vars = 0;
   examine.dict = dataset_dict (ds);
 
   /* Accept an optional, completely pointless "/VARIABLES=" */
diff --git a/tests/language/stats/examine.at b/tests/language/stats/examine.at
index d4540ba45d..a55facf7c2 100644
--- a/tests/language/stats/examine.at
+++ b/tests/language/stats/examine.at
@@ -1046,3 +1046,30 @@ EXAMINE
 AT_CHECK([pspp -o pspp.csv examine-empty-parens.sps], [1], [ignore])
 
 AT_CLEANUP 
+
+
+
+
+dnl Test for another crash which happened on bad input syntax
+AT_SETUP([EXAMINE -- Bad variable])
+
+AT_DATA([examine-bad-variable.sps], [dnl
+data list list /h * g *.
+begin data.
+3 1
+4 1
+5 2
+end data.
+
+EXAMINE
+        /VARIABLES/ h
+        BY  g
+        .
+])
+
+AT_CHECK([pspp -o pspp.csv examine-bad-variable.sps], [1], [ignore])
+
+AT_CLEANUP 
+
+
+