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

Commit 44c02590 authored by Andrei Kapishnikov's avatar Andrei Kapishnikov
Browse files

Do not throw NullPointerException from PacService

Do not throw NullPointerException from PacService
since the calling client may not expect it and crash.

Fix of Bug 18818567

Change-Id: Ic36e8a1ca13cdaa7f605b6ade9cc6783517cbf40
parent 84c27441
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package android.net;

import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;

@@ -74,8 +73,8 @@ public class PacProxySelector extends ProxySelector {
        }
        try {
            response = mProxyService.resolvePacFile(uri.getHost(), urlString);
        } catch (RemoteException e) {
            e.printStackTrace();
        } catch (Exception e) {
            Log.e(TAG, "Error resolving PAC File", e);
        }
        if (response == null) {
            return mDefaultList;
+8 −2
Original line number Diff line number Diff line
@@ -72,16 +72,22 @@ public class PacService extends Service {
        @Override
        public String resolvePacFile(String host, String url) throws RemoteException {
            try {
                if (host == null) {
                    throw new IllegalArgumentException("The host must not be null");
                }
                if (url == null) {
                    throw new IllegalArgumentException("The URL must not be null");
                }
                // Check for characters that could be used for an injection attack.
                new URL(url);
                for (char c : host.toCharArray()) {
                    if (!Character.isLetterOrDigit(c) && (c != '.') && (c != '-')) {
                        throw new RemoteException("Invalid host was passed");
                        throw new IllegalArgumentException("Invalid host was passed");
                    }
                }
                return mPacNative.makeProxyRequest(url, host);
            } catch (MalformedURLException e) {
                throw new RemoteException("Invalid URL was passed");
                throw new IllegalArgumentException("Invalid URL was passed");
            }
        }