63c98a
From 5472b1751645f750e42a0ba6daac667983b1a56c Mon Sep 17 00:00:00 2001
63c98a
From: "Todd C. Miller" <Todd.Miller@sudo.ws>
63c98a
Date: Fri, 24 Jan 2020 11:13:55 -0700
63c98a
Subject: [PATCH] Fix crash in sudo 1.8.30 when suspending sudo at the password
63c98a
 prompt. The closure pointer in sudo_conv_callback was being filled in with a
63c98a
 struct getpass_closure ** instead of a struct getpass_closure *. The bug was
63c98a
 introduced in the fix for Bug #910; previously the closure variable was a
63c98a
 struct getpass_closure, not a pointer. Fix from Michael Norton; Bug #914.
63c98a
63c98a
---
63c98a
 plugins/sudoers/check.c | 2 +-
63c98a
 1 file changed, 1 insertion(+), 1 deletion(-)
63c98a
63c98a
diff --git a/plugins/sudoers/check.c b/plugins/sudoers/check.c
63c98a
index 72e87eef6..9b03c7a05 100644
63c98a
--- a/plugins/sudoers/check.c
63c98a
+++ b/plugins/sudoers/check.c
63c98a
@@ -108,7 +108,7 @@ check_user_interactive(int validated, int mode, struct getpass_closure *closure)
63c98a
 	/* Construct callback for getpass function. */
63c98a
 	memset(&cb, 0, sizeof(cb));
63c98a
 	cb.version = SUDO_CONV_CALLBACK_VERSION;
63c98a
-	cb.closure = &closure;
63c98a
+	cb.closure = closure;
63c98a
 	cb.on_suspend = getpass_suspend;
63c98a
 	cb.on_resume = getpass_resume;
63c98a
 	callback = &cb;
63c98a
-- 
63c98a
2.25.1
63c98a