diff options
author | Dominik Stadler <centic@apache.org> | 2018-01-01 14:39:26 +0000 |
---|---|---|
committer | Dominik Stadler <centic@apache.org> | 2018-01-01 14:39:26 +0000 |
commit | 7e04bd33e5eda1c7fb2bd4478a4a1fd745351480 (patch) | |
tree | 3988db7e5f5e587b0ac703ea3706bb0b42ef983d /src/testcases | |
parent | 8507286f77bdb3942714f98e4c191823040a39d0 (diff) | |
download | poi-7e04bd33e5eda1c7fb2bd4478a4a1fd745351480.tar.gz poi-7e04bd33e5eda1c7fb2bd4478a4a1fd745351480.zip |
Bug 61550: Add more information to exception text and verify that it is thrown
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1819772 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/testcases')
-rw-r--r-- | src/testcases/org/apache/poi/util/TestLittleEndianStreams.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/testcases/org/apache/poi/util/TestLittleEndianStreams.java b/src/testcases/org/apache/poi/util/TestLittleEndianStreams.java index c05e365a92..1b327669ae 100644 --- a/src/testcases/org/apache/poi/util/TestLittleEndianStreams.java +++ b/src/testcases/org/apache/poi/util/TestLittleEndianStreams.java @@ -81,4 +81,20 @@ public final class TestLittleEndianStreams extends TestCase { assertEquals(0x33, lei.readUByte()); assertEquals(0, lei.available()); } + + public void testBufferOverrun() { + byte[] srcBuf = HexRead.readFromString("99 88 77"); + LittleEndianInput lei = new LittleEndianByteArrayInputStream(srcBuf); + + // do initial read to increment the read index beyond zero + assertEquals(0x8899, lei.readUShort()); + + // only one byte left, so this should fail + try { + lei.readFully(new byte[4]); + fail("Should catch exception here"); + } catch (RuntimeException e) { + assertTrue(e.getMessage().contains("Buffer overrun")); + } + } } |