From f08243b10fc46459f103e4d7cdf11baeb507c25a Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Mon, 17 Dec 2007 14:19:19 +0000 Subject: [PATCH] Avoid a rare ArrayIndexOutOfBoundsException on some word table stuff (patch from bug #44078) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@604878 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hwpf/sprm/TableSprmUncompressor.java | 6 ++++-- .../org/apache/poi/hwpf/data/AIOOB-Tap.doc | Bin 0 -> 57856 bytes .../poi/hwpf/usermodel/TestProblems.java | 19 +++++++++++++++++- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/scratchpad/testcases/org/apache/poi/hwpf/data/AIOOB-Tap.doc diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmUncompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmUncompressor.java index 87547565f..f8fc91f12 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmUncompressor.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmUncompressor.java @@ -148,8 +148,10 @@ public class TableSprmUncompressor for (int x = 0; x < itcMac; x++) { - if(hasTCs) rgtc[x] = TableCellDescriptor.convertBytesToTC(grpprl, - offset + (1 + ( (itcMac + 1) * 2) + (x * 20))); + // Sometimes, the grpprl does not contain data at every offset. I have no idea why this happens. + if(hasTCs && offset + (1 + ( (itcMac + 1) * 2) + (x * 20)) < grpprl.length) + rgtc[x] = TableCellDescriptor.convertBytesToTC(grpprl, + offset + (1 + ( (itcMac + 1) * 2) + (x * 20))); else rgtc[x] = new TableCellDescriptor(); } diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/data/AIOOB-Tap.doc b/src/scratchpad/testcases/org/apache/poi/hwpf/data/AIOOB-Tap.doc new file mode 100644 index 0000000000000000000000000000000000000000..bfd5906caa049a28d454a8091468c69a8271e803 GIT binary patch literal 57856 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 Xp~EYtsJ~9V{j^<4USHV1LJRzVZ#Y2( literal 0 HcmV?d00001 diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java index 87b9754a6..8e7f47ed9 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestProblems.java @@ -53,8 +53,25 @@ public class TestProblems extends TestCase { Section s = r.getSection(x); for (int y = 0; y < s.numParagraphs(); y++) { Paragraph paragraph = s.getParagraph(y); - System.out.println(paragraph.getCharacterRun(0).text()); + //System.out.println(paragraph.getCharacterRun(0).text()); } } } + + /** + * AIOOB for TableSprmUncompressor.unCompressTAPOperation + */ + public void testSprmAIOOB() throws Exception { + HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/AIOOB-Tap.doc")); + + Range r = doc.getRange(); + StyleSheet styleSheet = doc.getStyleSheet(); + for (int x = 0; x < r.numSections(); x++) { + Section s = r.getSection(x); + for (int y = 0; y < s.numParagraphs(); y++) { + Paragraph paragraph = s.getParagraph(y); + //System.out.println(paragraph.getCharacterRun(0).text()); + } + } + } }