1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-10 09:45:39 +02:00

bug 357442: Protect EnvVarCollector against NPE when array of environment variables contains null

This commit is contained in:
Andrew Gvozdev 2013-03-10 07:05:35 -04:00
parent 180b192054
commit e034731fee

View file

@ -49,26 +49,28 @@ public class EnvVarCollector {
boolean isCaseInsensitive = !EnvironmentVariableManager.getDefault().isVariableCaseSensitive(); boolean isCaseInsensitive = !EnvironmentVariableManager.getDefault().isVariableCaseSensitive();
for(int i = 0; i < vars.length; i ++) { for(int i = 0; i < vars.length; i ++) {
IEnvironmentVariable var = vars[i]; IEnvironmentVariable var = vars[i];
String name = var.getName(); if (var != null) {
if(isCaseInsensitive) String name = var.getName();
name = name.toUpperCase(); if(isCaseInsensitive)
name = name.toUpperCase();
boolean noCheck = false;
boolean noCheck = false;
if(fMap == null){
noCheck = true; if(fMap == null){
fMap = new HashMap<String, EnvVarDescriptor>(); noCheck = true;
} fMap = new HashMap<String, EnvVarDescriptor>();
}
EnvVarDescriptor des = null;
if(noCheck || (des = fMap.get(name)) == null){ EnvVarDescriptor des = null;
des = new EnvVarDescriptor(var,info,num, supplier); if(noCheck || (des = fMap.get(name)) == null){
fMap.put(name,des); des = new EnvVarDescriptor(var,info,num, supplier);
} fMap.put(name,des);
else { }
des.setContextInfo(info); else {
des.setSupplierNum(num); des.setContextInfo(info);
des.setVariable(EnvVarOperationProcessor.performOperation(des.getOriginalVariable(),var)); des.setSupplierNum(num);
des.setVariable(EnvVarOperationProcessor.performOperation(des.getOriginalVariable(),var));
}
} }
} }
} }