mirror of
https://github.com/haraldk/TwelveMonkeys.git
synced 2025-10-04 11:26:44 -04:00
#860: Fix regression in reading broken PackBits stream.
This commit is contained in:
@@ -47,6 +47,7 @@ import javax.imageio.stream.ImageInputStream;
|
||||
import java.awt.*;
|
||||
import java.awt.color.*;
|
||||
import java.awt.image.*;
|
||||
import java.io.EOFException;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -695,6 +696,30 @@ public class PSDImageReaderTest extends ImageReaderAbstractTest<PSDImageReader>
|
||||
}
|
||||
}
|
||||
|
||||
@Test(timeout = 1000)
|
||||
public void testBrokenPackBitsThrowsEOFException() throws IOException {
|
||||
PSDImageReader imageReader = createReader();
|
||||
|
||||
try (ImageInputStream stream = ImageIO.createImageInputStream(getClassLoaderResource("/broken-psd/short-packbits.psd"))) {
|
||||
imageReader.setInput(stream);
|
||||
|
||||
assertEquals(1, imageReader.getNumImages(true));
|
||||
|
||||
assertEquals(427, imageReader.getWidth(0));
|
||||
assertEquals(107, imageReader.getHeight(0));
|
||||
|
||||
try {
|
||||
imageReader.read(0);
|
||||
|
||||
fail("Expected EOFException, is the test broken?");
|
||||
}
|
||||
catch (EOFException expected) {
|
||||
assertTrue(expected.getMessage().contains("PackBits"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
final static class FakeCMYKColorSpace extends ColorSpace {
|
||||
FakeCMYKColorSpace() {
|
||||
super(ColorSpace.TYPE_CMYK, 4);
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user