#fixed code
                                public static MathProgSysModel make(final File file) {

        final MathProgSysModel retVal = new MathProgSysModel();

        String line;
        FileSection section = null;

        try (BufferedReader reader = new BufferedReader(new FileReader(file))) {

            // Returns the content of a line MINUS the newline.
            // Returns null only for the END of the stream.
            // Returns an empty String if two newlines appear in a row.
            while ((line = reader.readLine()) != null) {

                // BasicLogger.debug("Line: {}", line);

                if ((line.length() == 0) || line.startsWith(COMMENT) || line.startsWith(COMMENT_REF)) {
                    // Skip this line
                } else if (line.startsWith(SPACE)) {
                    retVal.parseSectionLine(section, line);
                } else {
                    section = retVal.identifySection(line);
                }
            }

        } catch (IOException xcptn) {
            xcptn.printStackTrace();
        }

        return retVal;
    }
#vulnerable code 
                                public static MathProgSysModel make(final File file) {

        final MathProgSysModel retVal = new MathProgSysModel();

        String tmpLine;
        FileSection tmpSection = null;

        try {

            final BufferedReader tmpBufferedFileReader = new BufferedReader(new FileReader(file));

            //readLine is a bit quirky :
            //it returns the content of a line MINUS the newline.
            //it returns null only for the END of the stream.
            //it returns an empty String if two newlines appear in a row.
            while ((tmpLine = tmpBufferedFileReader.readLine()) != null) {

                // BasicLogger.debug("Line: {}", tmpLine);

                if ((tmpLine.length() == 0) || tmpLine.startsWith(COMMENT) || tmpLine.startsWith(COMMENT_REF)) {
                    // Skip this line
                } else if (tmpLine.startsWith(SPACE)) {
                    retVal.parseSectionLine(tmpSection, tmpLine);
                } else {
                    tmpSection = retVal.identifySection(tmpLine);
                }
            }

            tmpBufferedFileReader.close();

        } catch (final FileNotFoundException anException) {
            anException.printStackTrace();
        } catch (final IOException anException) {
            anException.printStackTrace();
        }

        return retVal;
    } 
                            #location 31 
                            #vulnerability type RESOURCE_LEAK