From 8afdb7a9ce17b5142cce793a1ec8435ff59e9306 Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Wed, 19 Feb 2014 23:45:07 +0000 Subject: [PATCH] Bug 55732 - PPT can't open, fails with "Couldn't instantiate .... StyleTextProp9Atom : java.lang.ArrayIndexOutOfBoundsException: 56" git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1569984 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hslf/record/StyleTextProp9Atom.java | 65 ++++++++++-------- .../apache/poi/hslf/usermodel/TestBugs.java | 18 +++++ test-data/slideshow/bug55732.ppt | Bin 0 -> 99840 bytes 3 files changed, 54 insertions(+), 29 deletions(-) create mode 100644 test-data/slideshow/bug55732.ppt diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/StyleTextProp9Atom.java b/src/scratchpad/src/org/apache/poi/hslf/record/StyleTextProp9Atom.java index 17c9107e4..9f8aec7f4 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/record/StyleTextProp9Atom.java +++ b/src/scratchpad/src/org/apache/poi/hslf/record/StyleTextProp9Atom.java @@ -27,11 +27,9 @@ import org.apache.poi.util.LittleEndian; /** * The atom record that specifies additional text formatting. - * - * @author Alex Nikiforov [mailto:anikif@gmail.com] */ public final class StyleTextProp9Atom extends RecordAtom { - private final TextPFException9[] autoNumberSchemes; + private final TextPFException9[] autoNumberSchemes; /** Record header. */ private byte[] header; /** Record data. */ @@ -50,7 +48,7 @@ public final class StyleTextProp9Atom extends RecordAtom { */ protected StyleTextProp9Atom(byte[] source, int start, int len) { // Get the header. - final List schemes = new LinkedList(); + final List schemes = new LinkedList(); header = new byte[8]; System.arraycopy(source,start, header,0,8); this.version = LittleEndian.getShort(header, 0); @@ -61,42 +59,51 @@ public final class StyleTextProp9Atom extends RecordAtom { data = new byte[len-8]; System.arraycopy(source, start+8, data, 0, len-8); for (int i = 0; i < data.length; ) { - final TextPFException9 item = new TextPFException9(data, i); - schemes.add(item); - i += item.getRecordLength(); - //int textCfException9 = LittleEndian.getInt(data, i ); - //TODO analyze textCfException when have some test data - i += 4; - int textSiException = LittleEndian.getInt(data, i ); - i += + 4;//TextCFException9 + SIException - if (0 != (textSiException & 0x40)) { - i += 2; //skip fBidi - } - if (i >= data.length) { - break; - } + final TextPFException9 item = new TextPFException9(data, i); + schemes.add(item); + i += item.getRecordLength(); + + if (i >= data.length) { + break; + } + int textCfException9 = LittleEndian.getInt(data, i ); + i += 4; + //TODO analyze textCfException when have some test data + + if (i >= data.length) { + break; + } + int textSiException = LittleEndian.getInt(data, i ); + i += 4;//TextCFException9 + SIException + + if (0 != (textSiException & 0x40)) { + i += 2; //skip fBidi + } + if (i >= data.length) { + break; + } } this.autoNumberSchemes = (TextPFException9[]) schemes.toArray(new TextPFException9[schemes.size()]); } - /** + /** * Gets the record type. * @return the record type. */ public long getRecordType() { return this.recordId; } public short getVersion() { - return version; - } + return version; + } - public int getLength() { - return length; - } - public TextPFException9[] getAutoNumberTypes() { - return this.autoNumberSchemes; - } + public int getLength() { + return length; + } + public TextPFException9[] getAutoNumberTypes() { + return this.autoNumberSchemes; + } - /** + /** * Write the contents of the record back, so it can be written * to disk * @@ -133,4 +140,4 @@ public final class StyleTextProp9Atom extends RecordAtom { // Update the size (header bytes 5-8) LittleEndian.putInt(header, 4, data.length); } -} +} \ No newline at end of file diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java index b5683a1ea..50b21a007 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java @@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import java.io.File; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; @@ -38,6 +39,7 @@ import org.apache.poi.hslf.HSLFTestDataSamples; import org.apache.poi.hslf.exceptions.OldPowerPointFormatException; import org.apache.poi.hslf.model.Background; import org.apache.poi.hslf.model.Fill; +import org.apache.poi.hslf.model.HeadersFooters; import org.apache.poi.hslf.model.MasterSheet; import org.apache.poi.hslf.model.Notes; import org.apache.poi.hslf.model.Picture; @@ -484,4 +486,20 @@ public final class TestBugs { } } + @Test + public void bug55732() throws Exception { + File file = _slTests.getFile("bug55732.ppt"); + + HSLFSlideShow ss = new HSLFSlideShow(file.getAbsolutePath()); + SlideShow _show = new SlideShow(ss); + Slide[] _slides = _show.getSlides(); + + /* Iterate over slides and extract text */ + for( Slide slide : _slides ) { + HeadersFooters hf = slide.getHeadersFooters(); + boolean visible = hf.isHeaderVisible(); // exception happens here + } + assertTrue("No Exceptions while reading headers", true); + } + } diff --git a/test-data/slideshow/bug55732.ppt b/test-data/slideshow/bug55732.ppt new file mode 100644 index 0000000000000000000000000000000000000000..c0f84ac6707e604362f6a4037ccefbcb170c346f GIT binary patch literal 99840 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 I_9NH-e|;xkO8@`> literal 0 HcmV?d00001