高通平台wifi--p2p issue

在高通平台的WiFi-P2P应用中,若未取消连接,扫描重试回调可能会多次触发。如果在这期间禁用了P2P,这些异步回调将尝试访问已初始化的P2P实例,导致原生崩溃。问题源于p2p_iface.cpp,它是wpa_supplicant的hidl接口。
摘要由CSDN通过智能技术生成

需求:

p2p: check p2p instance in all asynchronized callbacks
    
If cancelConnect is not called, the scan retry callback would be called several times. If P2P is disabled in this period,these asynchronized callbacks would access de-initialized p2p instance and result in native crash.

code:

------------------- wpa_supplicant/hidl/1.2/p2p_iface.cpp --------------------
index 0a6b657d..fd9ce0dc 100644
@@ -225,7 +225,7 @@ int joinScanReq(
 	size_t ielen;
 	unsigned int bands;
 
-	if (!wpa_s->global->p2p) {
+	if (wpa_s->global->p2p == NULL || wpa_s->global->p2p_disabled) {
 		wpa_printf(MSG_ERROR,
 		    "P2P: P2P interface is gone, cancel join scan");
 		return -ENXIO;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专业开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值