From 2a3a6462c55b344ea66cdd8bbfb621387e2568be Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Fri, 15 Dec 2023 11:54:03 +0100 Subject: 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 --- modules/pam_mkhomedir/mkhomedir_helper.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'modules/pam_mkhomedir/mkhomedir_helper.c') 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) { -- cgit v1.2.3