output: #fixed code
                               public static ArrayList<Sentence> readFile(String filename) throws IOException {
  		BufferedReader reader = BasicFileIO.openFileToReadUTF8(filename);
  		ArrayList sentences = new ArrayList<String>();
  
  		ArrayList<String> curLines = new ArrayList<String>();
  		String line;
  		while ( (line = reader.readLine()) != null ) {
  			if (line.matches("^\\s*$")) {
  				if (curLines.size() > 0) {
  					// Flush
  					sentences.add(sentenceFromLines(curLines));
  					curLines.clear();
  				}
  			} else {
  				curLines.add(line);
  			}
  		}
  		if (curLines.size() > 0) {
  			sentences.add(sentenceFromLines(curLines));
  		}
  		return sentences;
  	}
input: #vulnerable code 
                               public static ArrayList<Sentence> readFile(String filename) throws IOException {
  		BufferedReader reader = BasicFileIO.openFileToRead(filename);
  		ArrayList sentences = new ArrayList<String>();
  
  		ArrayList<String> curLines = new ArrayList<String>();
  		String line;
  		while ( (line = reader.readLine()) != null ) {
  			if (line.matches("^\\s*$")) {
  				if (curLines.size() > 0) {
  					// Flush
  					sentences.add(sentenceFromLines(curLines));
  					curLines.clear();
  				}
  			} else {
  				curLines.add(line);
  			}
  		}
  		if (curLines.size() > 0) {
  			sentences.add(sentenceFromLines(curLines));
  		}
  		return sentences;
  	} 
                              #location 21 
                              #vulnerability type RESOURCE_LEAK