diff options
-rw-r--r-- | libpam/pam_start.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libpam/pam_start.c b/libpam/pam_start.c index 0e50bb40..7febeb8d 100644 --- a/libpam/pam_start.c +++ b/libpam/pam_start.c @@ -24,6 +24,11 @@ int pam_start ( D(("called pam_start: [%s] [%s] [%p] [%p]" ,service_name, user, pam_conversation, pamh)); + if (pamh == NULL) { + _pam_system_log(LOG_CRIT, "pam_start: invalid argument: pamh == NULL"); + return (PAM_BUF_ERR); + } + if ((*pamh = calloc(1, sizeof(**pamh))) == NULL) { _pam_system_log(LOG_CRIT, "pam_start: calloc failed for *pamh"); return (PAM_BUF_ERR); |