diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java index 2082eaf0..292a6bc8 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java @@ -88,8 +88,8 @@ final class JPEGImage10MetadataCleaner { jfif.setAttribute("majorVersion", String.valueOf(jfifSegment.majorVersion)); jfif.setAttribute("minorVersion", String.valueOf(jfifSegment.minorVersion)); jfif.setAttribute("resUnits", String.valueOf(jfifSegment.units)); - jfif.setAttribute("Xdensity", String.valueOf(jfifSegment.xDensity)); - jfif.setAttribute("Ydensity", String.valueOf(jfifSegment.yDensity)); + jfif.setAttribute("Xdensity", String.valueOf(Math.max(1, jfifSegment.xDensity))); // Avoid 0 density + jfif.setAttribute("Ydensity", String.valueOf(Math.max(1,jfifSegment.yDensity))); jfif.setAttribute("thumbWidth", String.valueOf(jfifSegment.xThumbnail)); jfif.setAttribute("thumbHeight", String.valueOf(jfifSegment.yThumbnail)); diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 6666d9ac..fbeffd60 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -55,7 +55,6 @@ import java.util.*; import java.util.List; import static org.junit.Assert.*; -import static org.junit.Assert.assertArrayEquals; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; @@ -639,6 +638,16 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase