Bug 244285 - An internal error occurred during: "Initializing Java Tooling".
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
index 7155e23..25fbd78 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
@@ -369,20 +369,22 @@
 			File extDir = new File(dirPaths[i]);
 			if (extDir.exists() && extDir.isDirectory()) {
 				String[] names = extDir.list();
-				for (int j = 0; j < names.length; j++) {
-					String name = names[j];
-					File jar = new File(extDir, name);
-					if (jar.isFile()) {
-						int length = name.length();
-						if (length > 4) {
-							String suffix = name.substring(length - 4);
-							if (suffix.equalsIgnoreCase(".zip") || suffix.equalsIgnoreCase(".jar")) { //$NON-NLS-1$ //$NON-NLS-2$
-								try {
-									IPath libPath = new Path(jar.getCanonicalPath());
-									LibraryLocation library = new LibraryLocation(libPath, Path.EMPTY, Path.EMPTY, null);
-									libraries.add(library);
-								} catch (IOException e) {
-									LaunchingPlugin.log(e);
+				if (names != null) {
+					for (int j = 0; j < names.length; j++) {
+						String name = names[j];
+						File jar = new File(extDir, name);
+						if (jar.isFile()) {
+							int length = name.length();
+							if (length > 4) {
+								String suffix = name.substring(length - 4);
+								if (suffix.equalsIgnoreCase(".zip") || suffix.equalsIgnoreCase(".jar")) { //$NON-NLS-1$ //$NON-NLS-2$
+									try {
+										IPath libPath = new Path(jar.getCanonicalPath());
+										LibraryLocation library = new LibraryLocation(libPath, Path.EMPTY, Path.EMPTY, null);
+										libraries.add(library);
+									} catch (IOException e) {
+										LaunchingPlugin.log(e);
+									}
 								}
 							}
 						}