From b8c6823e185432d717cb18cc3f3f874d1c2d23b6 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sat, 26 Mar 2016 16:57:16 +0100 Subject: [PATCH] Fix crash in FLIP with no variables. Found by zzuf. --- src/language/stats/flip.c | 2 ++ tests/language/stats/flip.at | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/language/stats/flip.c b/src/language/stats/flip.c index 68152b1b19..9d3b0a6346 100644 --- a/src/language/stats/flip.c +++ b/src/language/stats/flip.c @@ -144,6 +144,8 @@ cmd_flip (struct lexer *lexer, struct dataset *ds) break; } } + if (flip->n_vars <= 0) + goto error; flip->file = pool_create_temp_file (flip->pool); if (flip->file == NULL) diff --git a/tests/language/stats/flip.at b/tests/language/stats/flip.at index 2b7e234b42..22058f23bf 100644 --- a/tests/language/stats/flip.at +++ b/tests/language/stats/flip.at @@ -81,3 +81,20 @@ v9 ,9.00,12.00 v10 ,10.00,13.00 ]) AT_CLEANUP + + + + +AT_SETUP([FLIP badly formed]) + +AT_DATA([flip.sps], [dnl +data list notable /N 1 (a) a b c d 2-9. + +flip newnames=n. +list. +flip. +]) + +AT_CHECK([pspp -O format=csv flip.sps], [1], [ignore]) + +AT_CLEANUP -- 2.30.2