aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 */