diff options
Diffstat (limited to 'modules/pam_wheel/pam_wheel.c')
-rw-r--r-- | modules/pam_wheel/pam_wheel.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/modules/pam_wheel/pam_wheel.c b/modules/pam_wheel/pam_wheel.c index 179f56b3..dd047afb 100644 --- a/modules/pam_wheel/pam_wheel.c +++ b/modules/pam_wheel/pam_wheel.c @@ -54,11 +54,11 @@ static int _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, - char *use_group, size_t group_length) + const char **use_group) { int ctrl=0; - memset(use_group, '\0', group_length); + *use_group = ""; /* step through arguments */ for (ctrl=0; argc-- > 0; ++argv) { @@ -77,7 +77,7 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, else if (!strcmp(*argv,"root_only")) ctrl |= PAM_ROOT_ONLY_ARG; else if ((str = pam_str_skip_prefix(*argv, "group=")) != NULL) - strncpy(use_group, str, group_length - 1); + *use_group = str; else { pam_syslog(pamh, LOG_ERR, "unknown option: %s", *argv); } @@ -237,10 +237,10 @@ int pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED, int argc, const char **argv) { - char use_group[BUFSIZ]; + const char *use_group; int ctrl; - ctrl = _pam_parse(pamh, argc, argv, use_group, sizeof(use_group)); + ctrl = _pam_parse(pamh, argc, argv, &use_group); return perform_check(pamh, ctrl, use_group); } @@ -256,10 +256,10 @@ int pam_sm_acct_mgmt (pam_handle_t *pamh, int flags UNUSED, int argc, const char **argv) { - char use_group[BUFSIZ]; + const char *use_group; int ctrl; - ctrl = _pam_parse(pamh, argc, argv, use_group, sizeof(use_group)); + ctrl = _pam_parse(pamh, argc, argv, &use_group); return perform_check(pamh, ctrl, use_group); } |