aboutsummaryrefslogtreecommitdiff
path: root/modules/pam_mkhomedir/mkhomedir_helper.c
diff options
context:
space:
mode:
authorTobias Stoeckmann <tobias@stoeckmann.org>2023-12-15 11:54:03 +0100
committerDmitry V. Levin <ldv@strace.io>2023-12-19 12:22:59 +0000
commit2a3a6462c55b344ea66cdd8bbfb621387e2568be (patch)
tree77e8d3e24704a0a378eee91fcf91d97b3162fda4 /modules/pam_mkhomedir/mkhomedir_helper.c
parentbad0bb2ff9259efe0334bcc283f64a4135ad14a8 (diff)
downloadpam-2a3a6462c55b344ea66cdd8bbfb621387e2568be.tar.gz
pam-2a3a6462c55b344ea66cdd8bbfb621387e2568be.tar.bz2
pam-2a3a6462c55b344ea66cdd8bbfb621387e2568be.zip
pam_mkhomedir: avoid string copying
The characters in skeldir are only assigned, not modified later on. Use a const char pointer instead which is easier to verify. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Diffstat (limited to 'modules/pam_mkhomedir/mkhomedir_helper.c')
-rw-r--r--modules/pam_mkhomedir/mkhomedir_helper.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/modules/pam_mkhomedir/mkhomedir_helper.c b/modules/pam_mkhomedir/mkhomedir_helper.c
index 3bbcb0cf..eefb5999 100644
--- a/modules/pam_mkhomedir/mkhomedir_helper.c
+++ b/modules/pam_mkhomedir/mkhomedir_helper.c
@@ -32,7 +32,7 @@ struct dir_spec {
};
static unsigned long u_mask = 0022;
-static char skeldir[BUFSIZ] = "/etc/skel";
+static const char *skeldir = "/etc/skel";
static int create_homedir(struct dir_spec *, const struct passwd *, mode_t,
const char *, const char *);
@@ -420,11 +420,7 @@ main(int argc, char *argv[])
}
if (argc >= 4) {
- if (strlen(argv[3]) >= sizeof(skeldir)) {
- pam_syslog(NULL, LOG_ERR, "Too long skeldir path.");
- return PAM_SESSION_ERR;
- }
- strcpy(skeldir, argv[3]);
+ skeldir = argv[3];
}
if (argc >= 5) {