diff options
author | Ed Merks | 2020-02-18 06:32:16 +0000 |
---|---|---|
committer | Ed Merks | 2020-02-18 09:37:53 +0000 |
commit | 527e77fe2ce488aa544a015da2241859af63ace3 (patch) | |
tree | d0d6c2133a7f2930529da4e9e3d39ebd7ad189ed | |
parent | 62d1efb13557d24da5b7c2e80a9de9fabef73455 (diff) | |
download | eclipse.platform.team-527e77fe2ce488aa544a015da2241859af63ace3.tar.gz eclipse.platform.team-527e77fe2ce488aa544a015da2241859af63ace3.tar.xz eclipse.platform.team-527e77fe2ce488aa544a015da2241859af63ace3.zip |
Bug 491952 - NPE at ProxyManager.tryGetURI from p2.director applicationY20200225-1040Y20200219-1055Y20200219-0850Y20200218-1420Y20200218-1210X20200228-0700X20200228-0520X20200227-1900X20200227-0700X20200227-0130X20200226-0700X20200225-1900X20200225-0700X20200224-1900X20200224-0700X20200223-1900X20200223-0700X20200223-0250X20200222-0700X20200221-1130X20200221-0700X20200221-0440X20200221-0310X20200221-0050X20200220-1900X20200220-0700X20200219-1900X20200219-0700X20200219-0500X20200218-0510S4_15_0_RC1S4_15_0_M3I20200226-1800I20200226-0600I20200225-1800I20200225-0600I20200224-1800I20200224-0600I20200223-2335I20200223-1800I20200223-0600I20200222-1800I20200222-0600I20200221-1800I20200219-1800I20200219-0600I20200218-1800I20200218-0600
if Manual proxy is configured
ProxyManager should not assume that uri.getHost() returns a non-null
value. Specifically a valid jar: URI will always have a null host.
Also eliminate unused imports so that build passes.
Change-Id: I8ca9446e888b132c5f88f8cdc14eb9133a3a0b48
Signed-off-by: Ed Merks <ed.merks@gmail.com>
-rw-r--r-- | bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java index d7453ea7f..5e240e046 100644 --- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java +++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java @@ -318,10 +318,13 @@ public class ProxyManager implements IProxyService, IPreferenceChangeListener { } private boolean isHostFiltered(URI uri) { - String[] filters = getNonProxiedHosts(); - for (String filter : filters) { - if (StringUtil.hostMatchesFilter(uri.getHost(), filter)) - return true; + String host = uri.getHost(); + if (host != null) { + String[] filters = getNonProxiedHosts(); + for (String filter : filters) { + if (StringUtil.hostMatchesFilter(host, filter)) + return true; + } } return false; } @@ -422,9 +425,12 @@ public class ProxyManager implements IProxyService, IPreferenceChangeListener { @Override public IProxyData[] select(URI uri) { - IProxyData data = getProxyDataForHost(uri.getHost(), uri.getScheme()); - if (data != null) { - return resolveType(new IProxyData[] { data }); + String host = uri.getHost(); + if (host != null) { + IProxyData data = getProxyDataForHost(host, uri.getScheme()); + if (data != null) { + return resolveType(new IProxyData[] { data }); + } } return new IProxyData[0]; } |