aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Stoeckmann <tobias@stoeckmann.org>2023-12-15 11:53:11 +0100
committerDmitry V. Levin <ldv@strace.io>2023-12-19 12:22:59 +0000
commitbad0bb2ff9259efe0334bcc283f64a4135ad14a8 (patch)
treeaffd9f78352b6b80d13b6fa344bbf4cce8871deb
parent45d3d6b5021a6b5e49bc2923cd422ef3fecf1640 (diff)
downloadpam-bad0bb2ff9259efe0334bcc283f64a4135ad14a8.tar.gz
pam-bad0bb2ff9259efe0334bcc283f64a4135ad14a8.tar.bz2
pam-bad0bb2ff9259efe0334bcc283f64a4135ad14a8.zip
pam_filter: use stpcpy instead of strcpy
It's been checked before that enough space exists. Let stpcpy return the correct pointer to end of string instead of keeping track of it manually. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
-rw-r--r--modules/pam_filter/pam_filter.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/modules/pam_filter/pam_filter.c b/modules/pam_filter/pam_filter.c
index 4e614498..211d88cd 100644
--- a/modules/pam_filter/pam_filter.c
+++ b/modules/pam_filter/pam_filter.c
@@ -94,6 +94,7 @@ static int process_args(pam_handle_t *pamh
*evp = NULL;
} else {
char **levp;
+ char *p;
const char *user = NULL;
const void *tmp;
int i,size, retval;
@@ -127,13 +128,11 @@ static int process_args(pam_handle_t *pamh
return -1;
}
- strcpy(levp[0], ARGS_NAME);
- size = ARGS_OFFSET;
+ p = stpcpy(levp[0], ARGS_NAME);
for (i=0; i<argc; ++i) {
if (i)
- levp[0][size++] = ' ';
- strcpy(levp[0]+size, argv[i]);
- size += strlen(argv[i]);
+ p = stpcpy(p, " ");
+ p = stpcpy(p, argv[i]);
}
/* the "SERVICE" variable */