From c66a5a9bc54779a36160ac44cc0adc04318ee771 Mon Sep 17 00:00:00 2001 From: Andrew Niefer Date: Fri, 10 Jul 2009 20:45:18 +0000 Subject: bug 282704 - EclipsePolicy assumes non-null CodeSource --- .../src/org/eclipse/equinox/launcher/Main.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java index e96e9583b..88801d2ed 100644 --- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java +++ b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java @@ -2483,19 +2483,19 @@ public class Main { } public PermissionCollection getPermissions(CodeSource codesource) { - if (contains(codesource.getLocation())) + if (contains(codesource)) return allPermissions; return policy == null ? allPermissions : policy.getPermissions(codesource); } public PermissionCollection getPermissions(ProtectionDomain domain) { - if (contains(domain.getCodeSource().getLocation())) + if (contains(domain.getCodeSource())) return allPermissions; return policy == null ? allPermissions : policy.getPermissions(domain); } public boolean implies(ProtectionDomain domain, Permission permission) { - if (contains(domain.getCodeSource().getLocation())) + if (contains(domain.getCodeSource())) return true; return policy == null ? true : policy.implies(domain, permission); } @@ -2505,7 +2505,12 @@ public class Main { policy.refresh(); } - private boolean contains(URL url) { + private boolean contains(CodeSource codeSource) { + if (codeSource == null) + return false; + URL url = codeSource.getLocation(); + if (url == null) + return false; // Check to see if this URL is in our set of URLs to give AllPermissions to. for (int i = 0; i < urls.length; i++) { // We do simple equals test here because we assume the URLs will be the same objects. -- cgit v1.2.3