|
@@ -359,12 +359,17 @@ fail:
|
|
|
p2p->inv_group_bssid_ptr = p2p->inv_group_bssid;
|
|
|
} else
|
|
|
p2p->inv_group_bssid_ptr = NULL;
|
|
|
- if (msg.group_id_len - ETH_ALEN <= 32) {
|
|
|
- os_memcpy(p2p->inv_ssid, msg.group_id + ETH_ALEN,
|
|
|
- msg.group_id_len - ETH_ALEN);
|
|
|
- p2p->inv_ssid_len = msg.group_id_len - ETH_ALEN;
|
|
|
+ if (msg.group_id) {
|
|
|
+ if (msg.group_id_len - ETH_ALEN <= 32) {
|
|
|
+ os_memcpy(p2p->inv_ssid, msg.group_id + ETH_ALEN,
|
|
|
+ msg.group_id_len - ETH_ALEN);
|
|
|
+ p2p->inv_ssid_len = msg.group_id_len - ETH_ALEN;
|
|
|
+ }
|
|
|
+ os_memcpy(p2p->inv_go_dev_addr, msg.group_id, ETH_ALEN);
|
|
|
+ } else {
|
|
|
+ p2p->inv_ssid_len = 0;
|
|
|
+ os_memset(p2p->inv_go_dev_addr, 0, ETH_ALEN);
|
|
|
}
|
|
|
- os_memcpy(p2p->inv_go_dev_addr, msg.group_id, ETH_ALEN);
|
|
|
p2p->inv_status = status;
|
|
|
p2p->inv_op_freq = op_freq;
|
|
|
|