Browse Source

SME: Do not process disassoc frame unless SME is used

This avoids an infinite loop with driver_test.c when using IBSS.
Jouni Malinen 15 years ago
parent
commit
0e379654b0
1 changed files with 2 additions and 1 deletions
  1. 2 1
      wpa_supplicant/events.c

+ 2 - 1
wpa_supplicant/events.c

@@ -1384,7 +1384,8 @@ void wpa_supplicant_event(void *ctx, wpa_event_type event,
 		wpa_supplicant_event_assoc(wpa_s, data);
 		wpa_supplicant_event_assoc(wpa_s, data);
 		break;
 		break;
 	case EVENT_DISASSOC:
 	case EVENT_DISASSOC:
-		sme_event_disassoc(wpa_s, data);
+		if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)
+			sme_event_disassoc(wpa_s, data);
 		/* fall through */
 		/* fall through */
 	case EVENT_DEAUTH:
 	case EVENT_DEAUTH:
 		wpa_supplicant_event_disassoc(wpa_s);
 		wpa_supplicant_event_disassoc(wpa_s);