From: Ben Pfaff Date: Sat, 30 May 2015 23:13:30 +0000 (-0700) Subject: QUICK CLUSTER: Fix infinite loop on bad command name. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b72595c6b7888b8fe6dd350a5410ff36fe041e06;p=pspp QUICK CLUSTER: Fix infinite loop on bad command name. Reported by Alan Mead. --- diff --git a/src/language/stats/quick-cluster.c b/src/language/stats/quick-cluster.c index 68b5012314..0c871c8bf2 100644 --- a/src/language/stats/quick-cluster.c +++ b/src/language/stats/quick-cluster.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2011, 2012 Free Software Foundation, Inc. + Copyright (C) 2011, 2012, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -576,6 +576,11 @@ cmd_quick_cluster (struct lexer *lexer, struct dataset *ds) goto error; } } + else + { + lex_error (lexer, NULL); + goto error; + } } qc.wv = dict_get_weight (dict); diff --git a/tests/language/stats/quick-cluster.at b/tests/language/stats/quick-cluster.at index 495635b0b8..b3025651dc 100644 --- a/tests/language/stats/quick-cluster.at +++ b/tests/language/stats/quick-cluster.at @@ -228,4 +228,19 @@ QUICK CLUSTER x y AT_CHECK([pspp -O format=csv badn.sps], [1], [ignore]) -AT_CLEANUP \ No newline at end of file +AT_CLEANUP + +AT_SETUP([QUICK CLUSTER infinite loop on bad command name]) +AT_DATA([quick-cluster.sps], [dnl +data list notable list /x y. +begin data. +1 2 +1 2.2 +end data. + +QUICK CLUSTER x y /UNSUPPORTED. +]) +AT_CHECK([pspp -O format=csv quick-cluster.sps], [1], [dnl +quick-cluster.sps:7.20-7.30: error: QUICK CLUSTER: Syntax error at `UNSUPPORTED'. +]) +AT_CLEANUP