[WifiAware] fix creator from parcel

creator should read all content from parcel before verify available

Bug: 144286370
Test: atest android.net.wifi
Change-Id: Ie0f4954f5ca6cdb0ae1f77bfd4420b75f302c0f3
This commit is contained in:
Nate(Qiang) Jiang
2019-11-11 10:28:48 -08:00
parent f7805dede0
commit ee9a5ae15c

View File

@@ -120,10 +120,12 @@ public final class WifiAwareNetworkInfo implements TransportInfo, Parcelable {
new Creator<WifiAwareNetworkInfo>() {
@Override
public WifiAwareNetworkInfo createFromParcel(Parcel in) {
byte[] addr = in.createByteArray();
String interfaceName = in.readString();
int port = in.readInt();
int transportProtocol = in.readInt();
Inet6Address ipv6Addr;
try {
byte[] addr = in.createByteArray();
String interfaceName = in.readString();
NetworkInterface ni = null;
if (interfaceName != null) {
try {
@@ -135,11 +137,8 @@ public final class WifiAwareNetworkInfo implements TransportInfo, Parcelable {
ipv6Addr = Inet6Address.getByAddress(null, addr, ni);
} catch (UnknownHostException e) {
e.printStackTrace();
return null;
return new WifiAwareNetworkInfo(null);
}
int port = in.readInt();
int transportProtocol = in.readInt();
return new WifiAwareNetworkInfo(ipv6Addr, port, transportProtocol);
}