nfs-utils/0008-svcgssd-Fix-use-after-free-bug-config-variables.patch
2023-03-23 10:19:20 +08:00

42 lines
1.2 KiB
Diff

From 2eabb25d5a43e48e769a0db29956e9f5dc5b5913 Mon Sep 17 00:00:00 2001
From: Marcel Ritter <marcel@linux-ng.de>
Date: Tue, 21 Jun 2022 09:19:17 -0400
Subject: [PATCH] svcgssd: Fix use-after-free bug (config variables)
This patch fixes a bug when trying to set "principal" in /etc/nfs.conf.
Memory gets freed by conf_cleanup() before being used - moving cleanup
code resolves that.
Signed-off-by: Steve Dickson <steved@redhat.com>
---
utils/gssd/svcgssd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/utils/gssd/svcgssd.c b/utils/gssd/svcgssd.c
index 881207b3..a242b789 100644
--- a/utils/gssd/svcgssd.c
+++ b/utils/gssd/svcgssd.c
@@ -211,9 +211,6 @@ main(int argc, char *argv[])
rpc_verbosity = conf_get_num("svcgssd", "RPC-Verbosity", rpc_verbosity);
idmap_verbosity = conf_get_num("svcgssd", "IDMAP-Verbosity", idmap_verbosity);
- /* We don't need the config anymore */
- conf_cleanup();
-
while ((opt = getopt(argc, argv, "fivrnp:")) != -1) {
switch (opt) {
case 'f':
@@ -328,6 +325,9 @@ main(int argc, char *argv[])
daemon_ready();
+ /* We don't need the config anymore */
+ conf_cleanup();
+
nfs4_init_name_mapping(NULL); /* XXX: should only do this once */
rc = event_base_dispatch(evbase);
--
2.33.0