mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-25 08:48:31 -05:00
P2P: Decrement sd_pending_bcast_queries when sd returns success
The sd_pending_bcast_queries variable should be decremented only in case of success. This way, the supplicant can retry if a service discovery request fails. Signed-off-by: Constantin Musca <constantin.musca@intel.com>
This commit is contained in:
parent
dbdc9a1d48
commit
7139cf4a4f
@ -2788,6 +2788,19 @@ static void p2p_sd_cb(struct p2p_data *p2p, int success)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (p2p->sd_query->for_all_peers) {
|
||||||
|
/* Update the pending broadcast SD query count for this device
|
||||||
|
*/
|
||||||
|
p2p->sd_peer->sd_pending_bcast_queries--;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If there are no pending broadcast queries for this device,
|
||||||
|
* mark it as done (-1).
|
||||||
|
*/
|
||||||
|
if (p2p->sd_peer->sd_pending_bcast_queries == 0)
|
||||||
|
p2p->sd_peer->sd_pending_bcast_queries = -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Wait for response from the peer */
|
/* Wait for response from the peer */
|
||||||
p2p_set_state(p2p, P2P_SD_DURING_FIND);
|
p2p_set_state(p2p, P2P_SD_DURING_FIND);
|
||||||
p2p_set_timeout(p2p, 0, 200000);
|
p2p_set_timeout(p2p, 0, 200000);
|
||||||
|
@ -301,16 +301,6 @@ int p2p_start_sd(struct p2p_data *p2p, struct p2p_device *dev)
|
|||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update the pending broadcast SD query count for this device */
|
|
||||||
dev->sd_pending_bcast_queries--;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If there are no pending broadcast queries for this device, mark it as
|
|
||||||
* done (-1).
|
|
||||||
*/
|
|
||||||
if (dev->sd_pending_bcast_queries == 0)
|
|
||||||
dev->sd_pending_bcast_queries = -1;
|
|
||||||
|
|
||||||
wpabuf_free(req);
|
wpabuf_free(req);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user