You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by "Julien Gouesse (JIRA)" <ji...@apache.org> on 2016/03/07 10:28:40 UTC

[jira] [Created] (BATIK-1143) SAXSVGDocumentFactory.createDocument(String uri) opens an input stream but doesn't close it

Julien Gouesse created BATIK-1143:
-------------------------------------

             Summary: SAXSVGDocumentFactory.createDocument(String uri) opens an input stream but doesn't close it
                 Key: BATIK-1143
                 URL: https://issues.apache.org/jira/browse/BATIK-1143
             Project: Batik
          Issue Type: Bug
          Components: SVG DOM
    Affects Versions: 1.7.1, 1.6.1, 1.8, 1.7
            Reporter: Julien Gouesse


Batik opens an input stream here:
https://github.com/apache/batik/blob/trunk/batik-anim/src/main/java/org/apache/batik/anim/dom/SAXSVGDocumentFactory.java#L158

This opened stream is no longer useful after the creation of the SVGOMDocument instance, it could get closed somewhere, typically here:
https://github.com/apache/batik/blob/trunk/batik-anim/src/main/java/org/apache/batik/anim/dom/SAXSVGDocumentFactory.java#L208

I would use a try-with-resource or at least a try finally block to do so. This is what I do as a temporary workaround, I override this method in my source code and it works.

As far as I know, SAXSVGDocumentFactory.createDocument(String uri) doesn't open streams that don't need to be closed (see ByteArrayInputStream). Leaving such streams open can lead to memory leaks and to run out of native resources (file handles, connections, ...).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-dev-help@xmlgraphics.apache.org