Program: 28191
Project: 28191
Buggy source:
private static void initializeInstalledLibRegistryForExtDirs(){
  String ext_dirStr=System.getProperty("String_Node_Str");
  if (ext_dirStr != null) {
    deplLogger.fine("String_Node_Str" + ext_dirStr);
    Vector extDirs=new Vector();
    StringTokenizer st=new StringTokenizer(ext_dirStr,File.pathSeparator);
    while (st.hasMoreTokens()) {
      String next=st.nextToken();
      deplLogger.log(Level.FINE,"String_Node_Str" + next);
      extDirs.addElement(next);
    }
    for (int v=0; v < extDirs.size(); v++) {
      File extDir=new File((String)extDirs.elementAt(v));
      if (deplLogger.isLoggable(Level.FINE)) {
        deplLogger.log(Level.FINE,"String_Node_Str" + extDir);
      }
      ArrayList<File> validExtDirLibFiles=new ArrayList<File>();
      File[] installedLibraries=extDir.listFiles();
      if (installedLibraries != null) {
        try {
          Map<Extension,String> installedLibrariesList=getInstalledLibraries(extDir.getAbsolutePath(),extDirJars,validExtDirLibFiles);
          extDirsLibsStore.putAll(installedLibrariesList);
          for (          File file : validExtDirLibFiles) {
            JarFile jarFile=null;
            try {
              jarFile=new JarFile(file);
              Manifest m=jarFile.getManifest();
              if (m != null) {
                try {
                  getInstalledLibraries(file.getAbsolutePath(),m,true,extDirsLibsStore);
                }
 catch (                MissingResourceException e) {
                  deplLogger.log(Level.WARNING,PACKAGE_NOT_FOUND,new Object[]{e.getClass(),file.getAbsolutePath()});
                }
              }
            }
 catch (            IOException ioe) {
              deplLogger.log(Level.WARNING,INVALID_ZIP,new Object[]{file.getAbsolutePath(),ioe.getMessage()});
            }
 finally {
              if (jarFile != null)               jarFile.close();
            }
          }
        }
 catch (        IOException e) {
          deplLogger.log(Level.WARNING,EXCEPTION_OCCURRED,new Object[]{e.getMessage()});
        }
      }
    }
  }
}

Fixed version (ground truth):
private static void initializeInstalledLibRegistryForExtDirs(){
  String ext_dirStr=System.getProperty("String_Node_Str");
  if (ext_dirStr != null) {
    if (deplLogger.isLoggable(Level.FINE)) {
      deplLogger.fine("String_Node_Str" + ext_dirStr);
    }
    Vector extDirs=new Vector();
    StringTokenizer st=new StringTokenizer(ext_dirStr,File.pathSeparator);
    while (st.hasMoreTokens()) {
      String next=st.nextToken();
      deplLogger.log(Level.FINE,"String_Node_Str" + next);
      extDirs.addElement(next);
    }
    for (int v=0; v < extDirs.size(); v++) {
      File extDir=new File((String)extDirs.elementAt(v));
      if (deplLogger.isLoggable(Level.FINE)) {
        deplLogger.log(Level.FINE,"String_Node_Str" + extDir);
      }
      ArrayList<File> validExtDirLibFiles=new ArrayList<File>();
      File[] installedLibraries=extDir.listFiles();
      if (installedLibraries != null) {
        try {
          Map<Extension,String> installedLibrariesList=getInstalledLibraries(extDir.getAbsolutePath(),extDirJars,validExtDirLibFiles);
          extDirsLibsStore.putAll(installedLibrariesList);
          for (          File file : validExtDirLibFiles) {
            JarFile jarFile=null;
            try {
              jarFile=new JarFile(file);
              Manifest m=jarFile.getManifest();
              if (m != null) {
                try {
                  getInstalledLibraries(file.getAbsolutePath(),m,true,extDirsLibsStore);
                }
 catch (                MissingResourceException e) {
                  deplLogger.log(Level.WARNING,PACKAGE_NOT_FOUND,new Object[]{e.getClass(),file.getAbsolutePath()});
                }
              }
            }
 catch (            IOException ioe) {
              deplLogger.log(Level.WARNING,INVALID_ZIP,new Object[]{file.getAbsolutePath(),ioe.getMessage()});
            }
 finally {
              if (jarFile != null)               jarFile.close();
            }
          }
        }
 catch (        IOException e) {
          deplLogger.log(Level.WARNING,EXCEPTION_OCCURRED,new Object[]{e.getMessage()});
        }
      }
    }
  }
}