Program: 72627
Project: 72627
Buggy source:
/** 
 * Refresh the URL list of DriverClassLoader
 * @return if the refreshURL is different than the former one then return true otherwisereturn false
 * @throws OdaException 
 */
public boolean refreshURLs() throws OdaException {
  if (bundle == null)   return false;
  boolean foundNew=false;
  if (driverClassPath != null) {
    try {
      File driverClassFile=new File(driverClassPath);
      if (driverClassFile.exists()) {
        this.addURL(driverClassFile.toURI().toURL());
        if (driverClassFile.isDirectory()) {
          File[] driverFiles=driverClassFile.listFiles(new FileFilter(){
            public boolean accept(            File pathname){
              if (pathname.isFile() && OdaJdbcDriver.isDriverFile(pathname.getName())) {
                return true;
              }
              return false;
            }
          }
);
          for (int i=0; i < driverFiles.length; i++) {
            if (!fileSet.contains(driverFiles[i].getName())) {
              foundNew=true;
              fileSet.add(driverFiles[i].getName());
              addURL(driverFiles[i].toURI().toURL());
              logger.info("String_Node_Str" + driverFiles[i].getName() + "String_Node_Str"+ driverFiles[i].toURI().toURL());
            }
          }
        }
      }
    }
 catch (    MalformedURLException e) {
      throw new OdaException(e);
    }
  }
  Enumeration files=bundle.getEntryPaths(OdaJdbcDriver.Constants.DRIVER_DIRECTORY);
  while (files != null && files.hasMoreElements()) {
    String fileName=(String)files.nextElement();
    if (OdaJdbcDriver.isDriverFile(fileName)) {
      if (!fileSet.contains(fileName)) {
        foundNew=true;
        fileSet.add(fileName);
        URL bundleURL=bundle.getEntry(fileName);
        try {
          URL fileURL=FileLocator.resolve(bundleURL);
          addURL(fileURL);
          addURL(bundleURL);
        }
 catch (        IOException e) {
          logger.log(Level.SEVERE,"String_Node_Str" + bundleURL + "String_Node_Str"+ "String_Node_Str",e);
        }
        logger.info("String_Node_Str" + fileName + "String_Node_Str"+ bundleURL);
      }
    }
  }
  return foundNew;
}

Fixed version (ground truth):
/** 
 * Refresh the URL list of DriverClassLoader
 * @return if the refreshURL is different than the former one then return true otherwisereturn false
 * @throws OdaException 
 */
public boolean refreshURLs() throws OdaException {
  if (bundle == null)   return false;
  boolean foundNew=false;
  if (driverClassPath != null && driverClassPath.size() > 0) {
    try {
      for (      String classPath : driverClassPath) {
        File driverClassFile=new File(classPath);
        if (driverClassFile.exists()) {
          this.addURL(driverClassFile.toURI().toURL());
          if (driverClassFile.isDirectory()) {
            File[] driverFiles=driverClassFile.listFiles(new FileFilter(){
              public boolean accept(              File pathname){
                if (pathname.isFile() && OdaJdbcDriver.isDriverFile(pathname.getName())) {
                  return true;
                }
                return false;
              }
            }
);
            for (int i=0; i < driverFiles.length; i++) {
              if (!fileSet.contains(driverFiles[i].getName())) {
                foundNew=true;
                fileSet.add(driverFiles[i].getName());
                addURL(driverFiles[i].toURI().toURL());
                logger.info("String_Node_Str" + driverFiles[i].getName() + "String_Node_Str"+ driverFiles[i].toURI().toURL());
              }
            }
          }
        }
      }
    }
 catch (    MalformedURLException e) {
      throw new OdaException(e);
    }
  }
  Enumeration files=bundle.getEntryPaths(OdaJdbcDriver.Constants.DRIVER_DIRECTORY);
  while (files != null && files.hasMoreElements()) {
    String fileName=(String)files.nextElement();
    if (OdaJdbcDriver.isDriverFile(fileName)) {
      if (!fileSet.contains(fileName)) {
        foundNew=true;
        fileSet.add(fileName);
        URL bundleURL=bundle.getEntry(fileName);
        try {
          URL fileURL=FileLocator.resolve(bundleURL);
          addURL(fileURL);
          addURL(bundleURL);
        }
 catch (        IOException e) {
          logger.log(Level.SEVERE,"String_Node_Str" + bundleURL + "String_Node_Str"+ "String_Node_Str",e);
        }
        logger.info("String_Node_Str" + fileName + "String_Node_Str"+ bundleURL);
      }
    }
  }
  return foundNew;
}