ngompa / rpms / sudo

Forked from rpms/sudo 2 years ago
Clone
Blob Blame History Raw
diff -up sudo-1.7.2p2/toke.c.empty sudo-1.7.2p2/toke.c
--- sudo-1.7.2p2/toke.c.empty	2010-02-16 23:13:23.000000000 +0100
+++ sudo-1.7.2p2/toke.c	2010-02-16 23:17:57.000000000 +0100
@@ -1421,6 +1421,7 @@ __unused static const char rcsid[] = "$S
 #endif /* lint */
 
 extern YYSTYPE yylval;
+extern int parse_error;
 int sudolineno = 1;
 char *sudoers;
 static int sawspace = 0;
@@ -1880,7 +1881,7 @@ YY_RULE_SETUP
 			    LEXTRACE("INCLUDEDIR\n");
 
 			    /* Push current buffer and switch to include file */
-			    if (!push_includedir(path))
+			    if (!push_includedir(path) && parse_error)
 				yyterminate();
 			}
 	YY_BREAK
@@ -3369,7 +3370,7 @@ switch_dir(stack, dirpath)
 
     if (!(dir = opendir(dirpath))) {
 	yyerror(dirpath);
-	return(FALSE);
+	return(NULL);
     }
     while ((dent = readdir(dir))) {
 	/* Ignore files that end in '~' or have a '.' in them. */
@@ -3494,7 +3495,7 @@ _push_include(path, isdir)
     }
     if (isdir) {
 	if (!(path = switch_dir(&istack[idepth], path))) {
-	    yyerror(path);
+            /* yyerror(path); */
 	    return(FALSE);
 	}
 	if ((fp = open_sudoers(path, FALSE, &keepopen)) == NULL) {