commit 38375e0e08dc88281915425fac39d685a05700d9 Author: Jakub Jelen Date: Thu Jun 24 10:24:31 2021 +0200 Accept whole range of supported pids Signed-off-by: Jakub Jelen diff --git a/src/pam_wrapper.c b/src/pam_wrapper.c index 6801d7b..b55ffc4 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); + "Failed to parse pid, buf=%s - error: ", + buf, strerror(errno)); 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) {