[ 
https://issues.apache.org/jira/browse/PDFBOX-4665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Cockayne updated PDFBOX-4665:
-----------------------------------
    Component/s:     (was: Utilities)
                 PDModel

> 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: PDModel
>    Affects Versions: 2.0.17
>            Reporter: Chris Cockayne
>            Priority: Minor
>
> 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