Snap for 11117647 from 80b069714ebf9bae331a1deccc7b197f877c3bfa to 24Q1-release

Change-Id: I0aca78ce5857b2441be1c837bc049d8515aa1036
diff --git a/wpa_supplicant/aidl/aidl_manager.cpp b/wpa_supplicant/aidl/aidl_manager.cpp
index add0ef7..e760a71 100644
--- a/wpa_supplicant/aidl/aidl_manager.cpp
+++ b/wpa_supplicant/aidl/aidl_manager.cpp
@@ -1620,8 +1620,10 @@
 	P2pPeerClientJoinedEventParams params;
 	params.groupInterfaceName = misc_utils::charBufToString(wpa_group_s->ifname);
 	params.clientInterfaceAddress = macAddrToArray(sta);
-	params.clientDeviceAddress = macAddrToArray(p2p_dev_addr);
+	params.clientDeviceAddress = p2p_dev_addr ?
+			macAddrToArray(p2p_dev_addr) : macAddrToArray(kZeroBssid.data());
 	params.clientIpAddress = aidl_ip;
+
 	callWithEachP2pIfaceCallback(
 		misc_utils::charBufToString(wpa_s->ifname),
 		std::bind(
@@ -1641,7 +1643,9 @@
 	P2pPeerClientDisconnectedEventParams params;
 	params.groupInterfaceName = misc_utils::charBufToString(wpa_group_s->ifname);
 	params.clientInterfaceAddress = macAddrToArray(sta);
-	params.clientDeviceAddress = macAddrToArray(p2p_dev_addr);
+	params.clientDeviceAddress = p2p_dev_addr ?
+			macAddrToArray(p2p_dev_addr) : macAddrToArray(kZeroBssid.data());
+
 	callWithEachP2pIfaceCallback(
 		misc_utils::charBufToString(wpa_s->ifname),
 		std::bind(