Blob Blame History Raw
From 1b16310c7ec5ba23fbe066c7d000016e534b4448 Mon Sep 17 00:00:00 2001
From: Tomas Sykora <tosykora@redhat.com>
Date: Tue, 16 Aug 2016 09:54:06 +0200
Subject: [PATCH] Double quotes are not accepted in sudoers

Regression in sudo 1.8.6p3-7 package, double quotes are not accepted in sudoers

Rebased from:
Patch25: sudo-1.8.6p3-doublequotefix.patch

Resolves:
rhbz#1092499
---
 plugins/sudoers/toke.c | 2 +-
 plugins/sudoers/toke.l | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/plugins/sudoers/toke.c b/plugins/sudoers/toke.c
index e5b4d97..3b510bb 100644
--- a/plugins/sudoers/toke.c
+++ b/plugins/sudoers/toke.c
@@ -2385,7 +2385,7 @@ YY_RULE_SETUP
 				LEXTRACE("ERROR "); /* empty string */
 				LEXRETURN(ERROR);
 			    }
-			    if (prev_state == INITIAL) {
+			    if (prev_state == INITIAL || prev_state == GOTDEFS) {
 				switch (sudoerslval.string[0]) {
 				case '%':
 				    if (sudoerslval.string[1] == '\0' ||
diff --git a/plugins/sudoers/toke.l b/plugins/sudoers/toke.l
index b63edd0..82724aa 100644
--- a/plugins/sudoers/toke.l
+++ b/plugins/sudoers/toke.l
@@ -185,7 +185,7 @@ DEFVAR			[a-z_]+
 				LEXTRACE("ERROR "); /* empty string */
 				LEXRETURN(ERROR);
 			    }
-			    if (prev_state == INITIAL) {
+			    if (prev_state == INITIAL || prev_state == GOTDEFS) {
 				switch (sudoerslval.string[0]) {
 				case '%':
 				    if (sudoerslval.string[1] == '\0' ||
-- 
2.7.4