EAP-TTLS: Fix possible memory leak in eap_ttls_phase2_request_mschap()
The msg buffer needs to be freed on these two error paths. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
parent
422570eec8
commit
83e003a913
1 changed files with 12 additions and 2 deletions
|
@ -625,15 +625,25 @@ static int eap_ttls_phase2_request_mschap(struct eap_sm *sm,
|
||||||
pos += 24;
|
pos += 24;
|
||||||
if (pwhash) {
|
if (pwhash) {
|
||||||
/* NT-Response */
|
/* NT-Response */
|
||||||
if (challenge_response(challenge, password, pos))
|
if (challenge_response(challenge, password, pos)) {
|
||||||
|
wpa_printf(MSG_ERROR,
|
||||||
|
"EAP-TTLS/MSCHAP: Failed derive password hash");
|
||||||
|
wpabuf_free(msg);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
wpa_hexdump_key(MSG_DEBUG, "EAP-TTLS: MSCHAP password hash",
|
wpa_hexdump_key(MSG_DEBUG, "EAP-TTLS: MSCHAP password hash",
|
||||||
password, 16);
|
password, 16);
|
||||||
} else {
|
} else {
|
||||||
/* NT-Response */
|
/* NT-Response */
|
||||||
if (nt_challenge_response(challenge, password, password_len,
|
if (nt_challenge_response(challenge, password, password_len,
|
||||||
pos))
|
pos)) {
|
||||||
|
wpa_printf(MSG_ERROR,
|
||||||
|
"EAP-TTLS/MSCHAP: Failed derive password");
|
||||||
|
wpabuf_free(msg);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
wpa_hexdump_ascii_key(MSG_DEBUG, "EAP-TTLS: MSCHAP password",
|
wpa_hexdump_ascii_key(MSG_DEBUG, "EAP-TTLS: MSCHAP password",
|
||||||
password, password_len);
|
password, password_len);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue