diff --git a/src/cntlr_map.c b/src/cntlr_map.c index 871ad800d9bd0f195888a6e9d8fe0d68136962fa..e8a4d12ff8925f3d60321fb253d41c105aae0eef 100644 --- a/src/cntlr_map.c +++ b/src/cntlr_map.c @@ -84,6 +84,9 @@ void cntrl_enqueue_assoc_events(struct controller *c, struct wifi_assoc_events * dbg("Inside %s\n", __func__); struct wifi_assoc_events *elem; + if (!event) + return; + if (is_full_event_queue(c, CNTRL_ASSOC_EVENT)) { dbg("assoc event queue full del front node\n"); c->sta_events.front_assoc_events = (c->sta_events.front_assoc_events + 1) @@ -136,8 +139,8 @@ void cntrl_enqueue_disassoc_events(struct controller *c, struct wifi_disassoc_ev int handle_topology_notification(void *cntlr, struct cmdu_buff *cmdu) { cntlr = (struct controller *)cntlr; - struct wifi_assoc_events assoc_ev; - struct wifi_disassoc_events disassoc_ev; + struct wifi_assoc_events assoc_ev = { 0 }; + struct wifi_disassoc_events disassoc_ev = { 0 }; struct tlv *tv[2][16]; struct cmdu_buff *ret = NULL ;