From 861bccdf3c31ad9fae6e235ba96910823d3c28e8 Mon Sep 17 00:00:00 2001 From: Sergey Vladimirov Date: Tue, 11 Sep 2012 19:49:44 +0000 Subject: [PATCH] Fixed bug 53380 -- ArrayIndexOutOfBounds Excetion parsing word 97 document We had incorrect implementation for sprmCShd80 (0x4866) 0x66 processing, Shd was used instead of Shd80 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1383584 13f79535-47bb-0310-9956-ffa450edef68 --- src/documentation/content/xdocs/status.xml | 1 + .../hwpf/model/types/SHD80AbstractType.java | 53 +++++++++++--- .../poi/hwpf/model/types/SHDAbstractType.java | 69 ++++++++++++++---- .../hwpf/sprm/CharacterSprmUncompressor.java | 19 ++++- .../apache/poi/hwpf/usermodel/TestBugs.java | 16 ++++ src/types/definitions/shd80_type.xml | 14 ++-- src/types/definitions/shd_type.xml | 13 ++-- test-data/document/Bug53380_1.doc | Bin 0 -> 103424 bytes test-data/document/Bug53380_2.doc | Bin 0 -> 31744 bytes 9 files changed, 141 insertions(+), 44 deletions(-) create mode 100644 test-data/document/Bug53380_1.doc create mode 100644 test-data/document/Bug53380_2.doc diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml index d1896df4e6..5ea601b4c1 100644 --- a/src/documentation/content/xdocs/status.xml +++ b/src/documentation/content/xdocs/status.xml @@ -34,6 +34,7 @@ + 53380 - ArrayIndexOutOfBounds Excetion parsing word 97 document. 53434 - Subtotal is not return correct value. 53642 - [PATCH] XLS formula evaluation logging 53561 - Unexpected adding of drawings into a workbook diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/SHD80AbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/SHD80AbstractType.java index 2a91c4b34f..1a617073d0 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/SHD80AbstractType.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/SHD80AbstractType.java @@ -14,17 +14,18 @@ See the License for the specific language governing permissions and limitations under the License. ==================================================================== */ -package org.apache.poi.hwpf.model.types; +package org.apache.poi.hwpf.model.types; import org.apache.poi.util.BitField; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; /** - * The SHD80 is a substructure of the CHP and PAP, and TC for Word 97.

Class - and fields descriptions are quoted from - Microsoft Office Word 97-2007 Binary File Format + * The Shd80 structure specifies the colors and pattern that are used for background + shading. As an exception to the constraints that are specified by Ico and Ipat, a Shd80 can + be set to Shd80Nil and specifies that no shading is applied.

Class and fields + descriptions are quoted from Word (.doc) Binary File Format by Microsoft Corporation *

* NOTE: This source is automatically generated please do not modify this file. Either subclass or @@ -33,8 +34,7 @@ import org.apache.poi.util.LittleEndian; * This class is internal. It content or properties may change without notice * due to changes in our knowledge of internal Microsoft Word binary structures. - * @author Sergey Vladimirov; according to Microsoft Office Word 97-2007 Binary File Format - Specification [*.doc] + * @author Sergey Vladimirov; according to Word (.doc) Binary File Format by Microsoft Corporation. */ @Internal @@ -42,9 +42,9 @@ public abstract class SHD80AbstractType { protected short field_1_value; - /**/private static BitField icoFore = new BitField(0x001F); - /**/private static BitField icoBack = new BitField(0x03E0); - /**/private static BitField ipat = new BitField(0xFC00); + /**/private static final BitField icoFore = new BitField(0x001F); + /**/private static final BitField icoBack = new BitField(0x03E0); + /**/private static final BitField ipat = new BitField(0xFC00); protected SHD80AbstractType() { @@ -52,12 +52,19 @@ public abstract class SHD80AbstractType protected void fillFields( byte[] data, int offset ) { - field_1_value = LittleEndian.getShort(data, 0x0 + offset); + field_1_value = LittleEndian.getShort( data, 0x0 + offset ); } public void serialize( byte[] data, int offset ) { - LittleEndian.putShort(data, 0x0 + offset, (short)field_1_value); + LittleEndian.putShort( data, 0x0 + offset, field_1_value ); + } + + public byte[] serialize() + { + final byte[] result = new byte[ getSize() ]; + serialize( result, 0 ); + return result; } /** @@ -68,6 +75,30 @@ public abstract class SHD80AbstractType return 0 + 2; } + @Override + public boolean equals( Object obj ) + { + if ( this == obj ) + return true; + if ( obj == null ) + return false; + if ( getClass() != obj.getClass() ) + return false; + SHD80AbstractType other = (SHD80AbstractType) obj; + if ( field_1_value != other.field_1_value ) + return false; + return true; + } + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = prime * result + field_1_value; + return result; + } + public String toString() { StringBuilder builder = new StringBuilder(); diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/SHDAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/SHDAbstractType.java index 16b99e1c33..13603ae7b2 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/SHDAbstractType.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/SHDAbstractType.java @@ -14,6 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. ==================================================================== */ + package org.apache.poi.hwpf.model.types; @@ -22,9 +23,9 @@ import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; /** - * The SHD is a substructure of the CHP, PAP, and TC for Word 2000.

Class + * The Shd structure specifies the colors and pattern that are used for background shading.

Class and - fields descriptions are quoted from Microsoft Office Word 97-2007 Binary File Format + fields descriptions are quoted from Word (.doc) Binary File Format by Microsoft Corporation *

* NOTE: This source is automatically generated please do not modify this file. Either subclass or @@ -33,8 +34,7 @@ import org.apache.poi.util.LittleEndian; * This class is internal. It content or properties may change without notice * due to changes in our knowledge of internal Microsoft Word binary structures. - * @author Sergey Vladimirov; according to Microsoft Office Word 97-2007 Binary File Format - Specification [*.doc] + * @author Sergey Vladimirov; according to Word (.doc) Binary File Format by Microsoft Corporation. */ @Internal @@ -53,16 +53,23 @@ public abstract class SHDAbstractType protected void fillFields( byte[] data, int offset ) { - field_1_cvFore = new Colorref(data, 0x0 + offset); - field_2_cvBack = new Colorref(data, 0x4 + offset); - field_3_ipat = LittleEndian.getShort(data, 0x8 + offset); + field_1_cvFore = new Colorref( data, 0x0 + offset ); + field_2_cvBack = new Colorref( data, 0x4 + offset ); + field_3_ipat = LittleEndian.getShort( data, 0x8 + offset ); } public void serialize( byte[] data, int offset ) { - field_1_cvFore.serialize(data, 0x0 + offset); - field_2_cvBack.serialize(data, 0x4 + offset); - LittleEndian.putShort(data, 0x8 + offset, (short)field_3_ipat); + field_1_cvFore.serialize( data, 0x0 + offset ); + field_2_cvBack.serialize( data, 0x4 + offset ); + LittleEndian.putUShort( data, 0x8 + offset, field_3_ipat ); + } + + public byte[] serialize() + { + final byte[] result = new byte[ getSize() ]; + serialize( result, 0 ); + return result; } /** @@ -73,6 +80,36 @@ public abstract class SHDAbstractType return 0 + 4 + 4 + 2; } + @Override + public boolean equals( Object obj ) + { + if ( this == obj ) + return true; + if ( obj == null ) + return false; + if ( getClass() != obj.getClass() ) + return false; + SHDAbstractType other = (SHDAbstractType) obj; + if ( field_1_cvFore != other.field_1_cvFore ) + return false; + if ( field_2_cvBack != other.field_2_cvBack ) + return false; + if ( field_3_ipat != other.field_3_ipat ) + return false; + return true; + } + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = prime * result + field_1_cvFore.hashCode(); + result = prime * result + field_2_cvBack.hashCode(); + result = prime * result + field_3_ipat; + return result; + } + public String toString() { StringBuilder builder = new StringBuilder(); @@ -89,7 +126,7 @@ public abstract class SHDAbstractType } /** - * 24-bit foreground color. + * A COLORREF that specifies the foreground color of ipat. */ @Internal public Colorref getCvFore() @@ -98,7 +135,7 @@ public abstract class SHDAbstractType } /** - * 24-bit foreground color. + * A COLORREF that specifies the foreground color of ipat. */ @Internal public void setCvFore( Colorref field_1_cvFore ) @@ -107,7 +144,7 @@ public abstract class SHDAbstractType } /** - * 24-bit background color. + * A COLORREF that specifies the background color of ipat. */ @Internal public Colorref getCvBack() @@ -116,7 +153,7 @@ public abstract class SHDAbstractType } /** - * 24-bit background color. + * A COLORREF that specifies the background color of ipat. */ @Internal public void setCvBack( Colorref field_2_cvBack ) @@ -125,7 +162,7 @@ public abstract class SHDAbstractType } /** - * Shading pattern. + * An Ipat that specifies the pattern used for shading. */ @Internal public int getIpat() @@ -134,7 +171,7 @@ public abstract class SHDAbstractType } /** - * Shading pattern. + * An Ipat that specifies the pattern used for shading. */ @Internal public void setIpat( int field_3_ipat ) diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java index 0af5b79848..bc3b798d45 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java @@ -17,6 +17,8 @@ package org.apache.poi.hwpf.sprm; +import org.apache.poi.hwpf.usermodel.ShadingDescriptor80; + import org.apache.poi.hwpf.model.Colorref; import org.apache.poi.hwpf.model.Hyphenation; import org.apache.poi.hwpf.usermodel.BorderCode; @@ -578,9 +580,20 @@ public final class CharacterSprmUncompressor extends SprmUncompressor case 0x65: newCHP.setBrc (new BorderCode(sprm.getGrpprl(), sprm.getGrpprlOffset())); break; - case 0x66: - newCHP.setShd (new ShadingDescriptor(sprm.getGrpprl(), sprm.getGrpprlOffset())); - break; + case 0x66: + // sprmCShd80 + /* + * "A Shd80 structure that specifies the background shading for the text. By default, text is not shaded." + * + * Word (.doc) Binary File Format. Copyright (c) 2011 Microsoft + * Corporation. Release: Tuesday, March 15, 2011 + */ + ShadingDescriptor80 oldDescriptor = new ShadingDescriptor80( + sprm.getGrpprl(), sprm.getGrpprlOffset() ); + ShadingDescriptor newDescriptor = oldDescriptor + .toShadingDescriptor(); + newCHP.setShd( newDescriptor ); + break; case 0x67: // Obsolete break; diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBugs.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBugs.java index 6d69f68b9d..29638fd837 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBugs.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBugs.java @@ -765,4 +765,20 @@ public class TestBugs extends TestCase { HWPFTestDataSamples.openSampleFile( "Bug52032_3.doc" ); } + + /** + * Bug 53380 - ArrayIndexOutOfBounds Excetion parsing word 97 document + */ + public void testBug53380_1() throws Exception + { + HWPFTestDataSamples.openSampleFile( "Bug53380_1.doc" ); + } + + /** + * Bug 53380 - ArrayIndexOutOfBounds Excetion parsing word 97 document + */ + public void testBug53380_2() throws Exception + { + HWPFTestDataSamples.openSampleFile( "Bug53380_2.doc" ); + } } diff --git a/src/types/definitions/shd80_type.xml b/src/types/definitions/shd80_type.xml index ab3b45e4f4..22210ce7b0 100644 --- a/src/types/definitions/shd80_type.xml +++ b/src/types/definitions/shd80_type.xml @@ -19,17 +19,17 @@ --> AbstractType - The SHD80 is a substructure of the CHP and PAP, and TC for Word 97. <p>Class - and fields descriptions are quoted from - Microsoft Office Word 97-2007 Binary File Format + The Shd80 structure specifies the colors and pattern that are used for background + shading. As an exception to the constraints that are specified by Ico and Ipat, a Shd80 can + be set to Shd80Nil and specifies that no shading is applied. <p>Class and fields + descriptions are quoted from Word (.doc) Binary File Format by Microsoft Corporation - Sergey Vladimirov; according to Microsoft Office Word 97-2007 Binary File Format - Specification [*.doc] + Sergey Vladimirov; according to Word (.doc) Binary File Format by Microsoft Corporation. - - + + diff --git a/src/types/definitions/shd_type.xml b/src/types/definitions/shd_type.xml index 940eaa99ab..a2c1ba6247 100644 --- a/src/types/definitions/shd_type.xml +++ b/src/types/definitions/shd_type.xml @@ -19,16 +19,15 @@ --> AbstractType - The SHD is a substructure of the CHP, PAP, and TC for Word 2000. <p>Class + The Shd structure specifies the colors and pattern that are used for background shading. <p>Class and - fields descriptions are quoted from Microsoft Office Word 97-2007 Binary File Format + fields descriptions are quoted from Word (.doc) Binary File Format by Microsoft Corporation - Sergey Vladimirov; according to Microsoft Office Word 97-2007 Binary File Format - Specification [*.doc] + Sergey Vladimirov; according to Word (.doc) Binary File Format by Microsoft Corporation. - - - + + + diff --git a/test-data/document/Bug53380_1.doc b/test-data/document/Bug53380_1.doc new file mode 100644 index 0000000000000000000000000000000000000000..4233ac1e8650bb564a84da304cec78ea2dbe9c8d GIT binary patch literal 103424 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 literal 0 HcmV?d00001 -- 2.39.5