diff options
-rw-r--r-- | modules/pam_filter/pam_filter.c | 9 |
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 */ |