X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Ft-test-parser.c;h=7af0dfc9c606b24f72e8c5be5d44327732f78db2;hb=7635ce0697c163bd9c80adb8b382df7a9aa97f42;hp=660997e95c25ffa4b7af3c452a7771f8a4f7f80a;hpb=0445306befa6a3bfba7e2f749dd78097afe00a98;p=pspp diff --git a/src/language/stats/t-test-parser.c b/src/language/stats/t-test-parser.c index 660997e95c..7af0dfc9c6 100644 --- a/src/language/stats/t-test-parser.c +++ b/src/language/stats/t-test-parser.c @@ -80,7 +80,8 @@ cmd_t_test (struct lexer *lexer, struct dataset *ds) mode_count++; tt.mode = MODE_SINGLE; lex_match (lexer, T_EQUALS); - lex_force_num (lexer); + if (!lex_force_num (lexer)) + goto parse_failed; testval = lex_number (lexer); lex_get (lexer); } @@ -108,7 +109,8 @@ cmd_t_test (struct lexer *lexer, struct dataset *ds) cut = false; } - lex_force_match (lexer, T_RPAREN); + if (! lex_force_match (lexer, T_RPAREN)) + goto parse_failed; } else { @@ -276,10 +278,12 @@ cmd_t_test (struct lexer *lexer, struct dataset *ds) if ( lex_match_id (lexer, "CIN") || lex_force_match_id (lexer, "CI")) if ( lex_force_match (lexer, T_LPAREN)) { - lex_force_num (lexer); + if (!lex_force_num (lexer)) + goto parse_failed; tt.confidence = lex_number (lexer); lex_get (lexer); - lex_force_match (lexer, T_RPAREN); + if (! lex_force_match (lexer, T_RPAREN)) + goto parse_failed; } } else