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
This commit is contained in:
Aaron Huang 2021-04-09 12:06:42 +08:00
commit c65e7fa170

View file

@ -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);
}