Chris Cockayne created PDFBOX-4665:
--------------------------------------

             Summary: PDImageXObject createFromFileByExtension does not close 
FileInputStream in event of error
                 Key: PDFBOX-4665
                 URL: https://issues.apache.org/jira/browse/PDFBOX-4665
             Project: PDFBox
          Issue Type: Bug
          Components: Utilities
    Affects Versions: 2.0.17
            Reporter: Chris Cockayne


if you pass a mislabelled jpeg image file to 
PDImageXObject.createFromFileByExtension, e.g. a png image that is incorrectly 
named foo.jpg, then the file is treated as a JPEG. A FileInputStream is opened 
and JPEGFactory.createFromStream then (correctly) throws an IIOException. 
However, the FileInputStream is not closed.

Suggested change:

*old*

if ("jpg".equals(ext) || "jpeg".equals(ext))
 {
 FileInputStream fis = new FileInputStream(file);
 PDImageXObject imageXObject = JPEGFactory.createFromStream(doc, fis);
 fis.close();
 return imageXObject;
 }

*new*

if ("jpg".equals(ext) || "jpeg".equals(ext))
 {
 FileInputStream fis = null;
 try {
 fis = new FileInputStream(file);
 PDImageXObject imageXObject = JPEGFactory.createFromStream(doc, fis);
 return imageXObject;
 } finally {
 IOUtils.closeQuietly(fis);
 }
 }



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to