Bug 563868 - Changing tool in Profile Memory configuration causes NPE

- add null check of suppFileList in ValgrindOptionsTab.isGeneralValid()

Change-Id: Iafd78099a3f218f7c335ddfbbe0e3a6df8dbc979
Reviewed-on: https://git.eclipse.org/r/164030
Tested-by: Linux Tools Bot <linuxtools-bot@eclipse.org>
Reviewed-by: Jeff Johnston <jjohnstn@redhat.com>
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.launch/src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java b/valgrind/org.eclipse.linuxtools.valgrind.launch/src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java
index 2850919..95ec583 100644
--- a/valgrind/org.eclipse.linuxtools.valgrind.launch/src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java
+++ b/valgrind/org.eclipse.linuxtools.valgrind.launch/src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java
@@ -586,20 +586,22 @@
     }
 
     private boolean isGeneralValid() {
-        String[] suppFiles = suppFileList.getItems();
-        boolean result = true;
-        for (int i = 0; i < suppFiles.length && result; i++) {
-            try {
-                IPath suppfile = getPlugin().parseWSPath(suppFiles[i]);
-                if (!suppfile.toFile().exists()) {
-                    setErrorMessage(NLS.bind(Messages.getString("ValgrindOptionsTab.suppressions_file_doesnt_exist"), suppFiles[i])); //$NON-NLS-1$
-                    result = false;
-                }
-            } catch (CoreException e) {
-                // should only occur if there's a cycle in variable substitution
-                e.printStackTrace();
-            }
-        }
+    	boolean result = true;
+    	if (suppFileList != null) {
+    		String[] suppFiles = suppFileList.getItems();
+    		for (int i = 0; i < suppFiles.length && result; i++) {
+    			try {
+    				IPath suppfile = getPlugin().parseWSPath(suppFiles[i]);
+    				if (!suppfile.toFile().exists()) {
+    					setErrorMessage(NLS.bind(Messages.getString("ValgrindOptionsTab.suppressions_file_doesnt_exist"), suppFiles[i])); //$NON-NLS-1$
+    					result = false;
+    				}
+    			} catch (CoreException e) {
+    				// should only occur if there's a cycle in variable substitution
+    				e.printStackTrace();
+    			}
+    		}
+    	}
 
         return result;
     }