aboutsummaryrefslogtreecommitdiff
path: root/libpam/pam_handlers.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpam/pam_handlers.c')
-rw-r--r--libpam/pam_handlers.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libpam/pam_handlers.c b/libpam/pam_handlers.c
index fdc2b8a3..61466f8a 100644
--- a/libpam/pam_handlers.c
+++ b/libpam/pam_handlers.c
@@ -233,6 +233,15 @@ static int _pam_parse_conf_file(pam_handle_t *pamh, FILE *f
D(("list: %s",nexttok));
argvlen = _pam_mkargv(nexttok, &argv, &argc);
D(("argvlen = %d",argvlen));
+ if (argvlen == 0) {
+ /* memory allocation failed */
+ D(("failed to allocate argument vector"));
+ pam_syslog(pamh, LOG_ERR,
+ "(%s) argument vector allocation failed",
+ this_service);
+ mod_path = NULL;
+ handler_type = PAM_HT_MUST_FAIL;
+ }
} else { /* there are no arguments so fix by hand */
D(("empty argument list"));
argvlen = argc = 0;