Blob Blame Raw
diff -up sudo-1.8.6p3/plugins/sudoers/toke.c.doublequotefix sudo-1.8.6p3/plugins/sudoers/toke.c
--- sudo-1.8.6p3/plugins/sudoers/toke.c.doublequotefix	2014-05-19 14:28:27.536399410 +0200
+++ sudo-1.8.6p3/plugins/sudoers/toke.c	2014-05-19 14:29:51.084714355 +0200
@@ -1851,7 +1851,7 @@ YY_RULE_SETUP
 				LEXTRACE("ERROR "); /* empty string */
 				LEXRETURN(ERROR);
 			    }
-			    if (prev_state == INITIAL) {
+			    if (prev_state == INITIAL || prev_state == GOTDEFS) {
 				switch (yylval.string[0]) {
 				case '%':
 				    if (yylval.string[1] == '\0' ||
diff -up sudo-1.8.6p3/plugins/sudoers/toke.l.doublequotefix sudo-1.8.6p3/plugins/sudoers/toke.l
--- sudo-1.8.6p3/plugins/sudoers/toke.l.doublequotefix	2014-05-19 14:28:36.932438977 +0200
+++ sudo-1.8.6p3/plugins/sudoers/toke.l	2014-05-19 14:29:27.769626995 +0200
@@ -197,7 +197,7 @@ DEFVAR			[a-z_]+
 				LEXTRACE("ERROR "); /* empty string */
 				LEXRETURN(ERROR);
 			    }
-			    if (prev_state == INITIAL) {
+			    if (prev_state == INITIAL || prev_state == GOTDEFS) {
 				switch (yylval.string[0]) {
 				case '%':
 				    if (yylval.string[1] == '\0' ||