Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit abbee6e7 authored by Aaron Huang's avatar Aaron Huang
Browse files

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
parent c1349d4c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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);
    }