From be1fb69d9b173d4867d020551716234c831e6f06 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Wed, 15 Apr 2009 12:42:53 +0000 Subject: [PATCH] Fix bug #47034 - Reading the name of a NameRecord when the name is > 127 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@765163 13f79535-47bb-0310-9956-ffa450edef68 --- src/documentation/content/xdocs/changes.xml | 1 + src/documentation/content/xdocs/status.xml | 1 + .../org/apache/poi/hssf/record/NameRecord.java | 2 +- .../org/apache/poi/hssf/data/47034.xls | Bin 0 -> 210432 bytes .../apache/poi/hssf/usermodel/TestBugs.java | 10 ++++++++++ 5 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/testcases/org/apache/poi/hssf/data/47034.xls diff --git a/src/documentation/content/xdocs/changes.xml b/src/documentation/content/xdocs/changes.xml index e2f50b9ad..577f26407 100644 --- a/src/documentation/content/xdocs/changes.xml +++ b/src/documentation/content/xdocs/changes.xml @@ -37,6 +37,7 @@ + 47034 - Fix reading the name of a NameRecord when the name is very long 47001 - Fixed WriteAccessRecord and LinkTable to handle unusual format written by Google Docs 46973 - Fixed defined names to behave better when refersToFormula is unset 46832 - Allow merged regions with columns greater than 255 or rows bigger than 65536 in XSSF diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml index 99095f13f..40255a08b 100644 --- a/src/documentation/content/xdocs/status.xml +++ b/src/documentation/content/xdocs/status.xml @@ -34,6 +34,7 @@ + 47034 - Fix reading the name of a NameRecord when the name is very long 47001 - Fixed WriteAccessRecord and LinkTable to handle unusual format written by Google Docs 46973 - Fixed defined names to behave better when refersToFormula is unset 46832 - Allow merged regions with columns greater than 255 or rows bigger than 65536 in XSSF diff --git a/src/java/org/apache/poi/hssf/record/NameRecord.java b/src/java/org/apache/poi/hssf/record/NameRecord.java index 3d48023f4..a93822360 100644 --- a/src/java/org/apache/poi/hssf/record/NameRecord.java +++ b/src/java/org/apache/poi/hssf/record/NameRecord.java @@ -416,7 +416,7 @@ public final class NameRecord extends StandardRecord { LittleEndianInput in = ris; field_1_option_flag = in.readShort(); field_2_keyboard_shortcut = in.readByte(); - int field_3_length_name_text = in.readByte(); + int field_3_length_name_text = in.readUByte(); int field_4_length_name_definition = in.readShort(); field_5_externSheetIndex_plus1 = in.readShort(); field_6_sheetNumber = in.readUShort(); diff --git a/src/testcases/org/apache/poi/hssf/data/47034.xls b/src/testcases/org/apache/poi/hssf/data/47034.xls new file mode 100644 index 0000000000000000000000000000000000000000..81c5849e9fbcad977bb609103092577af010473d GIT binary patch literal 210432 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 literal 0 HcmV?d00001 diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index d81441c00..ae6504327 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -1479,4 +1479,14 @@ public final class TestBugs extends BaseTestBugzillaIssues { )); } } + + /** + * java.lang.NegativeArraySizeException reading long + * non-unicode data for a name record + */ + public void test47034() throws IOException { + HSSFWorkbook wb = openSample("47034.xls"); + assertEquals(893, wb.getNumberOfNames()); + assertEquals("Matthew\\Matthew11_1\\Matthew2331_1\\Matthew2351_1\\Matthew2361_1___lab", wb.getNameName(300)); + } }