Fix segmentation fault on EAP-TTLS phase 2 EAP method init failure
authorJouni Malinen <jouni.malinen@atheros.com>
Fri, 13 Mar 2009 15:53:13 +0000 (17:53 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 13 Mar 2009 15:53:13 +0000 (17:53 +0200)
This is based on a patch and report by Masashi Honma
<honma@ictec.co.jp>. The issue is more generic than just TNC, though,
since failure to initialize any phase 2 EAP method can result in NULL
dereference.

src/eap_server/eap_ttls.c

index b097ab2..d04f4f6 100644 (file)
@@ -954,7 +954,7 @@ static int eap_ttls_phase2_eap_init(struct eap_sm *sm,
        sm->init_phase2 = 1;
        data->phase2_priv = data->phase2_method->init(sm);
        sm->init_phase2 = 0;
-       return 0;
+       return data->phase2_priv == NULL ? -1 : 0;
 }