pam/pam-1.5.1-svace-confirmed-fixes.patch
survolog (Andrey Grigorev) bd0f04b76c Svace fix
2024-07-17 09:02:22 +03:00

42 lines
1.4 KiB
Diff

From d91212a8d4f2573567ecd93bc52a0d623329f620 Mon Sep 17 00:00:00 2001
From: HisShadow <shadowpilot34@gmail.com>
Date: Tue, 16 Jul 2024 08:57:22 +0000
Subject: [PATCH] svace confirmed fixes
---
modules/pam_console/handlers.c | 1 +
modules/pam_console/pam_console.c | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/modules/pam_console/handlers.c b/modules/pam_console/handlers.c
index ec097c6..b122c98 100644
--- a/modules/pam_console/handlers.c
+++ b/modules/pam_console/handlers.c
@@ -144,6 +144,7 @@ console_parse_handlers (pam_handle_t *pamh, const char *handlers_name) {
return PAM_SUCCESS;
fail_exit:
+ forget = fclose(fh);
console_free_handlers(first_handler);
return rv;
}
diff --git a/modules/pam_console/pam_console.c b/modules/pam_console/pam_console.c
index 11a8205..104bed5 100644
--- a/modules/pam_console/pam_console.c
+++ b/modules/pam_console/pam_console.c
@@ -152,8 +152,11 @@ try_xsocket(const char *path, size_t len) {
memset(&addr, 0, sizeof(addr));
addr.su.sun_family = AF_UNIX;
- if (len > sizeof(addr.su.sun_path))
+ if (len > sizeof(addr.su.sun_path)) {
+ close(fd);
return 0;
+ }
+
memcpy(addr.su.sun_path, path, len);
if (connect(fd, &addr.sa, sizeof(addr.su) - (sizeof(addr.su.sun_path) - len)) == 0) {
close(fd);
--
2.45.2