| |
@@ -0,0 +1,41 @@
|
| |
+ From 3508ad2704103e863fca8c45ecda25021850befc Mon Sep 17 00:00:00 2001
|
| |
+ From: Jakub Jelen <jjelen@redhat.com>
|
| |
+ Date: Thu, 24 Jun 2021 10:24:31 +0200
|
| |
+ Subject: [PATCH] Accept whole range of supported pids
|
| |
+
|
| |
+ Signed-off-by: Jakub Jelen <jjelen@redhat.com>
|
| |
+ Reviewed-by: Samuel Cabrero <scabrero@samba.org>
|
| |
+ Reviewed-by: Andreas Schneider <asn@samba.org>
|
| |
+ ---
|
| |
+ src/pam_wrapper.c | 10 ++++++++--
|
| |
+ 1 file changed, 8 insertions(+), 2 deletions(-)
|
| |
+
|
| |
+ diff --git a/src/pam_wrapper.c b/src/pam_wrapper.c
|
| |
+ index 6801d7b..efa7cbb 100644
|
| |
+ --- a/src/pam_wrapper.c
|
| |
+ +++ b/src/pam_wrapper.c
|
| |
+ @@ -791,14 +791,20 @@ static void pwrap_clean_stale_dirs(const char *dir)
|
| |
+ buf[sizeof(buf) - 1] = '\0';
|
| |
+
|
| |
+ tmp = strtol(buf, NULL, 10);
|
| |
+ - if (tmp == 0 || tmp > 0xFFFF || errno == ERANGE) {
|
| |
+ + if (tmp == 0 || errno == ERANGE) {
|
| |
+ PWRAP_LOG(PWRAP_LOG_ERROR,
|
| |
+ "Failed to parse pid, buf=%s",
|
| |
+ buf);
|
| |
+ return;
|
| |
+ }
|
| |
+
|
| |
+ - pid = (pid_t)(tmp & 0xFFFF);
|
| |
+ + pid = (pid_t)tmp;
|
| |
+ + /* Check if we are out of pid_t range on this system */
|
| |
+ + if ((long)pid != tmp) {
|
| |
+ + PWRAP_LOG(PWRAP_LOG_ERROR,
|
| |
+ + "pid out of range: %ld", tmp);
|
| |
+ + return;
|
| |
+ + }
|
| |
+
|
| |
+ rc = kill(pid, 0);
|
| |
+ if (rc == -1) {
|
| |
+ --
|
| |
+ GitLab
|
| |
Backport https://gitlab.com/cwrap/pam_wrapper/-/merge_requests/13 before the new version is release as this causes a lot of false positives in testing.