From 229bb110ab53bebd947b505e519d33d72f15442b Mon Sep 17 00:00:00 2001 From: Eyal Shapira Date: Sun, 22 Jul 2012 02:49:48 +0300 Subject: Fix a crash in WPS PBC overlap (BRCM) Supposedly fixed a crash which occurs during actual PBC overlap according to BRCM commit log. (Not quite sure what's the exact cause of the crash here. However this looks like a non BRCM specific change so take it). p2p_dev_addr can be NULL in some of the calls. Might cause a problem ?) Signed-off-by: Eyal Shapira --- src/wps/wps_registrar.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/wps/wps_registrar.c b/src/wps/wps_registrar.c index 154c2b4..44bb006 100644 --- a/src/wps/wps_registrar.c +++ b/src/wps/wps_registrar.c @@ -361,8 +361,13 @@ static void wps_registrar_remove_pbc_session(struct wps_registrar *reg, pbc = reg->pbc_sessions; while (pbc) { if (os_memcmp(pbc->uuid_e, uuid_e, WPS_UUID_LEN) == 0 || +#ifdef ANDROID_P2P + (p2p_dev_addr && !is_zero_ether_addr(pbc->addr) && + os_memcmp(pbc->addr, p2p_dev_addr, ETH_ALEN) == +#else (p2p_dev_addr && !is_zero_ether_addr(reg->p2p_dev_addr) && os_memcmp(reg->p2p_dev_addr, p2p_dev_addr, ETH_ALEN) == +#endif 0)) { if (prev) prev->next = pbc->next; -- cgit v1.1