aboutsummaryrefslogtreecommitdiff
path: root/modules/pam_namespace/pam_namespace.c
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-03-01 21:46:15 +0800
committerYuqian Yang <crupest@crupest.life>2025-03-01 21:46:15 +0800
commitaef952483b48edd612059c025f63d5b628df6f44 (patch)
tree3246efd78076664effbcf3b41c21b120743abc66 /modules/pam_namespace/pam_namespace.c
parent1e674b2f6ee96f7ae21bb8dc437249e404323169 (diff)
downloadpam-debian.tar.gz
pam-debian.tar.bz2
pam-debian.zip
HALF WORK: MAX_PATHdebian
Diffstat (limited to 'modules/pam_namespace/pam_namespace.c')
-rw-r--r--modules/pam_namespace/pam_namespace.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c
index ba7910f6..e224b218 100644
--- a/modules/pam_namespace/pam_namespace.c
+++ b/modules/pam_namespace/pam_namespace.c
@@ -1780,9 +1780,10 @@ cleanup:
static int cwd_in(char *dir, struct instance_data *idata)
{
int retval = 0;
- char cwd[PATH_MAX];
+ char *cwd;
- if (getcwd(cwd, PATH_MAX) == NULL) {
+ cwd = xgetcwd();
+ if (cwd == NULL) {
pam_syslog(idata->pamh, LOG_ERR, "Can't get current dir, %m");
return -1;
}
@@ -1796,6 +1797,7 @@ static int cwd_in(char *dir, struct instance_data *idata)
pam_syslog(idata->pamh, LOG_DEBUG, "cwd is outside %s", dir);
}
+ free(cwd);
return retval;
}