From 0eb677b74a8ee734485d0e081dd1e40e2144ff05 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Mon, 20 Sep 2021 07:49:31 -0600 Subject: [PATCH] Only store the first log id received from the server. Plugs a small memory leak in intercept mode if the log server sends the log ID again for sub-commands. --- plugins/sudoers/log_client.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/sudoers/log_client.c b/plugins/sudoers/log_client.c index fab3443a5..6d70a4dd1 100644 --- a/plugins/sudoers/log_client.c +++ b/plugins/sudoers/log_client.c @@ -1553,8 +1553,10 @@ handle_log_id(char *id, struct client_closure *closure) debug_decl(handle_log_id, SUDOERS_DEBUG_UTIL); sudo_debug_printf(SUDO_DEBUG_INFO, "%s: remote log ID: %s", __func__, id); - if ((closure->iolog_id = strdup(id)) == NULL) - sudo_fatal(NULL); + if (closure->iolog_id != NULL) { + if ((closure->iolog_id = strdup(id)) == NULL) + sudo_fatal(NULL); + } debug_return_bool(true); }