summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vinit Deshapnde <vinitd@google.com> 2013-09-16 12:41:12 -0700
committer Vinit Deshapnde <vinitd@google.com> 2013-09-16 12:41:12 -0700
commitffec33272721e3cc28437c3770168c4b839f30d1 (patch)
treed1cef21a5722683e198c3ebc3342e54d5c10ad8e
parent3a6b61ffcdf2c278f26f1530a5d41b825b33ca18 (diff)
Fix an NPE in WifiService
The check to validate incoming configurations is flagging a correct API usage as well - which doesn't provide any configuration to test. Fixing code to accommodate this. Bug: 10749041 Change-Id: I972f0edbdfa14aaa3edb34e4c6784b436c288383
-rw-r--r--services/java/com/android/server/wifi/WifiService.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/services/java/com/android/server/wifi/WifiService.java b/services/java/com/android/server/wifi/WifiService.java
index 5a24ebb4cb1f..025cd89bc0d9 100644
--- a/services/java/com/android/server/wifi/WifiService.java
+++ b/services/java/com/android/server/wifi/WifiService.java
@@ -172,10 +172,16 @@ public final class WifiService extends IWifiManager.Stub {
case WifiManager.CONNECT_NETWORK:
case WifiManager.SAVE_NETWORK: {
WifiConfiguration config = (WifiConfiguration) msg.obj;
- if (config.isValid()) {
+ int networkId = msg.arg1;
+ if (config != null && config.isValid()) {
+ if (DBG) Slog.d(TAG, "Connect with config" + config);
+ mWifiStateMachine.sendMessage(Message.obtain(msg));
+ } else if (config == null
+ && networkId != WifiConfiguration.INVALID_NETWORK_ID) {
+ if (DBG) Slog.d(TAG, "Connect with networkId" + networkId);
mWifiStateMachine.sendMessage(Message.obtain(msg));
} else {
- Slog.d(TAG, "ClientHandler.handleMessage ignoring msg=" + msg);
+ Slog.e(TAG, "ClientHandler.handleMessage ignoring invalid msg=" + msg);
if (msg.what == WifiManager.CONNECT_NETWORK) {
replyFailed(msg, WifiManager.CONNECT_NETWORK_FAILED);
} else {