diff --git a/CHANGES.md b/CHANGES.md index afa3058..551bb01 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased +### Fixed +- Fixed bug in `ImageServiceImpl` where `ImageInputStreams` were not properly closed after processing + ## [5.1.12] - 2024-05-08 ### Fixed - Updates ImageIO version to fix JPEG decoding from TIFFs with newer turbojpeg versions diff --git a/src/main/java/de/digitalcollections/iiif/hymir/image/business/ImageServiceImpl.java b/src/main/java/de/digitalcollections/iiif/hymir/image/business/ImageServiceImpl.java index 5f2b6d4..a53e0cb 100644 --- a/src/main/java/de/digitalcollections/iiif/hymir/image/business/ImageServiceImpl.java +++ b/src/main/java/de/digitalcollections/iiif/hymir/image/business/ImageServiceImpl.java @@ -224,6 +224,9 @@ public void readImageInfo( } finally { metrics.clearTimer(metricKey); if (r != null) { + if (r.getInput() instanceof ImageInputStream) { + ((ImageInputStream) r.getInput()).close(); + } r.dispose(); } } @@ -343,6 +346,9 @@ private DecodedImage readImage( } finally { metrics.clearTimer(metricKey); if (reader != null) { + if (reader.getInput() instanceof ImageInputStream) { + ((ImageInputStream) reader.getInput()).close(); + } reader.dispose(); } }