Checking the return value from pam_get_item(3) isn't enough, we also
have to check that the item isn't NULL. Submitted by: marcus git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@258 185d5e19-27fe-0310-9dcf-9bff6b9f3609
This commit is contained in:
parent
ff7d10eaa1
commit
ba03913cf0
|
@ -31,7 +31,7 @@
|
||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $P4: //depot/projects/openpam/lib/pam_get_user.c#17 $
|
* $P4: //depot/projects/openpam/lib/pam_get_user.c#18 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
|
|
||||||
#include "openpam_impl.h"
|
#include "openpam_impl.h"
|
||||||
|
|
||||||
const char user_prompt[] = "Login:";
|
static const char user_prompt[] = "Login:";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XSSO 4.2.1
|
* XSSO 4.2.1
|
||||||
|
@ -64,7 +64,7 @@ pam_get_user(pam_handle_t *pamh,
|
||||||
if (pamh == NULL || user == NULL)
|
if (pamh == NULL || user == NULL)
|
||||||
RETURNC(PAM_SYSTEM_ERR);
|
RETURNC(PAM_SYSTEM_ERR);
|
||||||
r = pam_get_item(pamh, PAM_USER, (const void **)user);
|
r = pam_get_item(pamh, PAM_USER, (const void **)user);
|
||||||
if (r == PAM_SUCCESS)
|
if (r == PAM_SUCCESS && *user != NULL)
|
||||||
RETURNC(PAM_SUCCESS);
|
RETURNC(PAM_SUCCESS);
|
||||||
if (prompt == NULL) {
|
if (prompt == NULL) {
|
||||||
r = pam_get_item(pamh, PAM_USER_PROMPT, (const void **)&prompt);
|
r = pam_get_item(pamh, PAM_USER_PROMPT, (const void **)&prompt);
|
||||||
|
|
Loading…
Reference in New Issue