diff options
| author | 2013-09-16 12:41:12 -0700 | |
|---|---|---|
| committer | 2013-09-16 12:41:12 -0700 | |
| commit | ffec33272721e3cc28437c3770168c4b839f30d1 (patch) | |
| tree | d1cef21a5722683e198c3ebc3342e54d5c10ad8e | |
| parent | 3a6b61ffcdf2c278f26f1530a5d41b825b33ca18 (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.java | 10 | 
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 {  |