Catch malloc return failures. This should help avoid dereferencing NULL on

low-memory situations.

Submitted by:	kris


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76689 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
This commit is contained in:
nsayer 2001-05-16 18:17:55 +00:00
parent 8e7393fb93
commit ebece97cb0

View File

@ -93,6 +93,11 @@ int server;
xuser = (char *)malloc(512); xuser = (char *)malloc(512);
pass = (char *)malloc(256); pass = (char *)malloc(256);
xpass = (char *)malloc(512); xpass = (char *)malloc(512);
if (user == NULL || xuser == NULL || pass == NULL || xpass ==
NULL)
return 0; /* malloc failed */
passwd_sent = 0; passwd_sent = 0;
genkeys(pka,ska); genkeys(pka,ska);
@ -534,6 +539,9 @@ auth_conv(int num_msg, const struct pam_message **msg,
struct pam_response *reply = struct pam_response *reply =
malloc(sizeof(struct pam_response) * num_msg); malloc(sizeof(struct pam_response) * num_msg);
if (reply == NULL)
return PAM_BUF_ERR;
for (i = 0; i < num_msg; i++) { for (i = 0; i < num_msg; i++) {
switch (msg[i]->msg_style) { switch (msg[i]->msg_style) {
case PAM_PROMPT_ECHO_ON: /* assume want user name */ case PAM_PROMPT_ECHO_ON: /* assume want user name */