output: #fixed code
                                private static void saveMD5File(File dataFile, String digestString)
        throws IOException {
      File md5File = getDigestFileForFile(dataFile);
      String md5Line = digestString + " *" + dataFile.getName() + "\n";
  
      try (AtomicFileOutputStream afos
           = new AtomicFileOutputStream(md5File)) {
        afos.write(md5Line.getBytes(StandardCharsets.UTF_8));
      }
  
      if (LOG.isDebugEnabled()) {
        LOG.debug("Saved MD5 " + digestString + " to " + md5File);
      }
    }
input: #vulnerable code 
                                private static void saveMD5File(File dataFile, String digestString)
        throws IOException {
      File md5File = getDigestFileForFile(dataFile);
      String md5Line = digestString + " *" + dataFile.getName() + "\n";
  
      AtomicFileOutputStream afos = new AtomicFileOutputStream(md5File);
      afos.write(md5Line.getBytes(StandardCharsets.UTF_8));
      afos.close();
  
      if (LOG.isDebugEnabled()) {
        LOG.debug("Saved MD5 " + digestString + " to " + md5File);
      }
    } 
                              #location 12 
                              #vulnerability type RESOURCE_LEAK