Catch Exception on creating NetworkDetail
Bug: 67482129
Test: compile, unit tests
Change-Id: I8d6806f750a8002a0a568bb2b84d1f18ba833594
diff --git a/service/java/com/android/server/wifi/WificondControl.java b/service/java/com/android/server/wifi/WificondControl.java
index 056777f..b6104a8 100644
--- a/service/java/com/android/server/wifi/WificondControl.java
+++ b/service/java/com/android/server/wifi/WificondControl.java
@@ -374,8 +374,13 @@
new InformationElementUtil.Capabilities();
capabilities.from(ies, result.capability);
String flags = capabilities.generateCapabilitiesString();
- NetworkDetail networkDetail =
- new NetworkDetail(bssid, ies, null, result.frequency);
+ NetworkDetail networkDetail;
+ try {
+ networkDetail = new NetworkDetail(bssid, ies, null, result.frequency);
+ } catch (IllegalArgumentException e) {
+ Log.e(TAG, "Illegal argument for scan result with bssid: " + bssid, e);
+ continue;
+ }
ScanDetail scanDetail = new ScanDetail(networkDetail, wifiSsid, bssid, flags,
result.signalMbm / 100, result.frequency, result.tsf, ies, null);