Check the return value of various calls to lex_force_match.
[pspp] / src / language / stats / oneway.c
index 8d7867234b0ce687a94502dfd990fdb0168c606e..791ee86978dabe586e1d41ae6bf2d01f968de094 100644 (file)
@@ -450,7 +450,8 @@ cmd_oneway (struct lexer *lexer, struct dataset *ds)
                              PV_NO_DUPLICATE | PV_NUMERIC))
     goto error;
 
-  lex_force_match (lexer, T_BY);
+  if (!lex_force_match (lexer, T_BY))
+    goto error;
 
   oneway.indep_var = parse_variable_const (lexer, dict);
   if (oneway.indep_var == NULL)
@@ -504,7 +505,8 @@ cmd_oneway (struct lexer *lexer, struct dataset *ds)
                    {
                      if ( !lex_force_match (lexer, T_LPAREN))
                        goto error;
-                     lex_force_num (lexer);
+                     if (! lex_force_num (lexer))
+                       goto error;
                      oneway.alpha = lex_number (lexer);
                      lex_get (lexer);
                      if ( !lex_force_match (lexer, T_RPAREN))