summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aaron Huang <huangaaron@google.com> 2021-04-09 12:06:42 +0800
committer Aaron Huang <huangaaron@google.com> 2021-04-16 00:15:25 +0800
commitabbee6e7c6568b588c9354660256bb55ac47e6a0 (patch)
treead4c13fbce1896ee9e5819f69609e0ef7e465750
parentc1349d4c565e5eb1ac2f971fc8a8cd4909090661 (diff)
Handle null pointer cases in ConnectivityService
If a method is called by adb command "service call" with no parameters. It will cause to crash because of a null object reference. Add a null check for them to avoid system server crash. Bug: 172885426 Test: FrameworksNetTest adb shell service call connectivity # Change-Id: I8748fc5c6a7a6e82db3581e3026a3f75909a357e
-rw-r--r--services/core/java/com/android/server/ConnectivityService.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index efb376863c27..b5aebb111218 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -6142,6 +6142,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
@Override
public int registerNetworkProvider(Messenger messenger, String name) {
enforceNetworkFactoryOrSettingsPermission();
+ Objects.requireNonNull(messenger, "messenger must be non-null");
NetworkProviderInfo npi = new NetworkProviderInfo(name, messenger,
nextNetworkProviderId(), () -> unregisterNetworkProvider(messenger));
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_PROVIDER, npi));
@@ -9074,6 +9075,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
@Override
public void unregisterConnectivityDiagnosticsCallback(
@NonNull IConnectivityDiagnosticsCallback callback) {
+ Objects.requireNonNull(callback, "callback must be non-null");
mConnectivityDiagnosticsHandler.sendMessage(
mConnectivityDiagnosticsHandler.obtainMessage(
ConnectivityDiagnosticsHandler
@@ -9444,6 +9446,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
*/
@Override
public void unregisterQosCallback(@NonNull final IQosCallback callback) {
+ Objects.requireNonNull(callback, "callback must be non-null");
mQosCallbackTracker.unregisterCallback(callback);
}