#fixed code
                                private String getCommandOutput(Command thisCommand, StreamConsumer stdOutConsumer, StreamConsumer stdErrConsumer, File tslintOutputFile, Integer timeoutMs) {
        LOG.debug("Executing TsLint with command: " + thisCommand.toCommandLine());

        // Timeout is specified per file, not per batch (which can vary a lot)
        // so multiply it up
        this.createExecutor().execute(thisCommand, stdOutConsumer, stdErrConsumer, timeoutMs);

        return getFileContent(tslintOutputFile);
    }
#vulnerable code 
                                private String getCommandOutput(Command thisCommand, StreamConsumer stdOutConsumer, StreamConsumer stdErrConsumer, File tslintOutputFile, Integer timeoutMs) {
        LOG.debug("Executing TsLint with command: " + thisCommand.toCommandLine());

        // Timeout is specified per file, not per batch (which can vary a lot)
        // so multiply it up
        this.createExecutor().execute(thisCommand, stdOutConsumer, stdErrConsumer, timeoutMs);

        StringBuilder outputBuilder = new StringBuilder();

        try {
            BufferedReader reader = this.getBufferedReaderForFile(tslintOutputFile);
            
            String str;
            while ((str = reader.readLine()) != null) {
                outputBuilder.append(str);
            }
            
            reader.close();
            
            return outputBuilder.toString();
        }
        catch (IOException ex) {
            LOG.error("Failed to re-read TsLint output", ex);
        }
        
        return "";
    } 
                            #location 22 
                            #vulnerability type RESOURCE_LEAK