Program: 199080
Project: 199080
Buggy source:
@Override public WifiPasspointInfo createFromParcel(Parcel in){
  WifiPasspointInfo p=new WifiPasspointInfo();
  int n;
  p.bssid=in.readString();
  p.venueName=in.readString();
  n=in.readInt();
  if (n > 0) {
    p.networkAuthType=new ArrayList<NetworkAuthType>();
    for (int i=0; i < n; i++) {
      NetworkAuthType auth=new NetworkAuthType();
      auth.type=in.readInt();
      auth.redirectUrl=in.readString();
      p.networkAuthType.add(auth);
    }
  }
  n=in.readInt();
  if (n > 0) {
    p.roamingConsortium=new ArrayList<String>();
    for (int i=0; i < n; i++)     p.roamingConsortium.add(in.readString());
  }
  n=in.readInt();
  if (n != IpAddressType.NULL_VALUE) {
    p.ipAddrTypeAvailability=new IpAddressType();
    p.ipAddrTypeAvailability.availability=n;
  }
  n=in.readInt();
  if (n > 0) {
    p.naiRealm=new ArrayList<NaiRealm>();
    for (int i=0; i < n; i++) {
      NaiRealm realm=new NaiRealm();
      realm.encoding=in.readInt();
      realm.realm=in.readString();
      p.naiRealm.add(realm);
    }
  }
  n=in.readInt();
  if (n > 0) {
    p.cellularNetwork=new ArrayList<CellularNetwork>();
    for (int i=0; i < n; i++) {
      CellularNetwork plmn=new CellularNetwork();
      plmn.mcc=in.readString();
      plmn.mnc=in.readString();
      p.cellularNetwork.add(plmn);
    }
  }
  n=in.readInt();
  if (n > 0) {
    p.domainName=new ArrayList<String>();
    for (int i=0; i < n; i++)     p.domainName.add(in.readString());
  }
  p.operatorFriendlyName=in.readString();
  n=in.readInt();
  if (n > 0) {
    p.wanMetrics=new WanMetrics();
    p.wanMetrics.wanInfo=in.readInt();
    p.wanMetrics.downlinkSpeed=in.readLong();
    p.wanMetrics.uplinkSpeed=in.readLong();
    p.wanMetrics.downlinkLoad=in.readInt();
    p.wanMetrics.uplinkLoad=in.readInt();
    p.wanMetrics.lmd=in.readInt();
  }
  n=in.readInt();
  if (n > 0) {
    p.connectionCapability=new ArrayList<IpProtoPort>();
    for (int i=0; i < n; i++) {
      IpProtoPort ip=new IpProtoPort();
      ip.proto=in.readInt();
      ip.port=in.readInt();
      ip.status=in.readInt();
      p.connectionCapability.add(ip);
    }
  }
  n=in.readInt();
  if (n > 0) {
    p.osuProviderList=new ArrayList<WifiPasspointOsuProvider>();
    for (int i=0; i < n; i++) {
      WifiPasspointOsuProvider osu=WifiPasspointOsuProvider.CREATOR.createFromParcel(in);
      p.osuProviderList.add(osu);
    }
  }
  return p;
}

Fixed version (ground truth):
@Override public WifiPasspointInfo createFromParcel(Parcel in){
  WifiPasspointInfo p=new WifiPasspointInfo();
  int n;
  p.bssid=in.readString();
  p.venueName=in.readString();
  n=in.readInt();
  if (n > 0) {
    p.networkAuthTypeList=new ArrayList<NetworkAuthType>();
    for (int i=0; i < n; i++) {
      NetworkAuthType auth=new NetworkAuthType();
      auth.type=in.readInt();
      auth.redirectUrl=in.readString();
      p.networkAuthTypeList.add(auth);
    }
  }
  n=in.readInt();
  if (n > 0) {
    p.roamingConsortiumList=new ArrayList<String>();
    for (int i=0; i < n; i++)     p.roamingConsortiumList.add(in.readString());
  }
  n=in.readInt();
  if (n != IpAddressType.NULL_VALUE) {
    p.ipAddrTypeAvailability=new IpAddressType();
    p.ipAddrTypeAvailability.availability=n;
  }
  n=in.readInt();
  if (n > 0) {
    p.naiRealmList=new ArrayList<NaiRealm>();
    for (int i=0; i < n; i++) {
      NaiRealm realm=new NaiRealm();
      realm.encoding=in.readInt();
      realm.realm=in.readString();
      p.naiRealmList.add(realm);
    }
  }
  n=in.readInt();
  if (n > 0) {
    p.cellularNetworkList=new ArrayList<CellularNetwork>();
    for (int i=0; i < n; i++) {
      CellularNetwork plmn=new CellularNetwork();
      plmn.mcc=in.readString();
      plmn.mnc=in.readString();
      p.cellularNetworkList.add(plmn);
    }
  }
  n=in.readInt();
  if (n > 0) {
    p.domainNameList=new ArrayList<String>();
    for (int i=0; i < n; i++)     p.domainNameList.add(in.readString());
  }
  p.operatorFriendlyName=in.readString();
  n=in.readInt();
  if (n > 0) {
    p.wanMetrics=new WanMetrics();
    p.wanMetrics.wanInfo=in.readInt();
    p.wanMetrics.downlinkSpeed=in.readLong();
    p.wanMetrics.uplinkSpeed=in.readLong();
    p.wanMetrics.downlinkLoad=in.readInt();
    p.wanMetrics.uplinkLoad=in.readInt();
    p.wanMetrics.lmd=in.readInt();
  }
  n=in.readInt();
  if (n > 0) {
    p.connectionCapabilityList=new ArrayList<IpProtoPort>();
    for (int i=0; i < n; i++) {
      IpProtoPort ip=new IpProtoPort();
      ip.proto=in.readInt();
      ip.port=in.readInt();
      ip.status=in.readInt();
      p.connectionCapabilityList.add(ip);
    }
  }
  n=in.readInt();
  if (n > 0) {
    p.osuProviderList=new ArrayList<WifiPasspointOsuProvider>();
    for (int i=0; i < n; i++) {
      WifiPasspointOsuProvider osu=WifiPasspointOsuProvider.CREATOR.createFromParcel(in);
      p.osuProviderList.add(osu);
    }
  }
  return p;
}