eap_server: Avoid NULL pointer dereference in eap_fast_encrypt_phase2()
authorHaim Dreyfuss <haim.dreyfuss@intel.com>
Mon, 19 Jan 2015 01:44:37 +0000 (20:44 -0500)
committerJouni Malinen <j@w1.fi>
Tue, 20 Jan 2015 00:11:59 +0000 (02:11 +0200)
If TLS encryption fails, encr may be NULL and that would have resulted
in NULL pointer dereference..

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
src/eap_server/eap_server_fast.c

index 56ac7f4..6745100 100644 (file)
@@ -819,6 +819,9 @@ static int eap_fast_encrypt_phase2(struct eap_sm *sm,
        encr = eap_server_tls_encrypt(sm, &data->ssl, plain);
        wpabuf_free(plain);
 
+       if (!encr)
+               return -1;
+
        if (data->ssl.tls_out && piggyback) {
                wpa_printf(MSG_DEBUG, "EAP-FAST: Piggyback Phase 2 data "
                           "(len=%d) with last Phase 1 Message (len=%d "