According to pam_exec(8), the expose_authtok option should be ignored when
the service function is pam_sm_setcred. Currently pam_exec only prevent
prompt for anth token when expose_authtok is set on pam_sm_setcred. This
subsequently led to segfault when there isn't an existing auth token available.
Bug reported on this: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263893
After reading https://reviews.freebsd.org/rS349556 I am not sure if the default
behaviour supposed to be simply not prompt for authentication token, or is it
to ignore the option entirely as stated in the man page.
This patch is therefore only adding an additional NULL check on the item
pam_get_item provide, and exit with PAM_SYSTEM_ERR when such item is NULL.