From 35c5d6103729530763662137952070258237976c Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Wed, 20 Oct 2010 19:30:55 +0300 Subject: [PATCH] Fix crash on channel list changed event during driver init The driver wrapper may indicate EVENT_CHANNEL_LIST_CHANGED before completing init(). This would likely result in segfault when driver channel list is being read as part of processing this event when P2P is enabled. --- wpa_supplicant/events.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index a4ee308a3..de030d253 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -1833,6 +1833,8 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event, wpa_supplicant_set_state(wpa_s, WPA_INTERFACE_DISABLED); break; case EVENT_CHANNEL_LIST_CHANGED: + if (wpa_s->drv_priv == NULL) + break; /* Ignore event during drv initialization */ #ifdef CONFIG_P2P wpas_p2p_update_channel_list(wpa_s); #endif /* CONFIG_P2P */