aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java2
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java7
-rw-r--r--test-data/spreadsheet/64261.xlsbin0 -> 26624 bytes
3 files changed, 7 insertions, 2 deletions
diff --git a/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java b/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java
index e2f7e045a8..1c17f48f4f 100644
--- a/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java
@@ -165,7 +165,7 @@ public class LbsDataSubRecord extends SubRecord {
// From [MS-XLS].pdf 2.5.147 FtLbsData:
// This array MUST exist if and only if the wListType field is not equal to 0.
- if(((_flags >> 4) & 0x2) != 0) {
+ if(((_flags >> 4) & 0x1) + (_flags >> 5 & 0x1) != 0) {
_bsels = new boolean[_cLines];
for(int i=0; i < _cLines; i++) {
_bsels[i] = in.readByte() == 1;
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
index 9bcde6ed37..cd2bfe32bc 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
@@ -2891,7 +2891,10 @@ public final class TestBugs extends BaseTestBugzillaIssues {
public void test63940() throws IOException {
simpleTest("SUBSTITUTE.xls");
}
-
+ @Test
+ public void test64261() throws IOException {
+ simpleTest("64261.xls");
+ }
// a simple test which rewrites the file once and evaluates its formulas
private void simpleTest(String fileName) throws IOException {
simpleTest(fileName, null);
@@ -2932,4 +2935,6 @@ public final class TestBugs extends BaseTestBugzillaIssues {
HSSFFormulaEvaluator.setupEnvironment( files.toArray(new String[0]), evals.toArray(new HSSFFormulaEvaluator[0]) );
evals.get(0).evaluateAll();
}
+
+
}
diff --git a/test-data/spreadsheet/64261.xls b/test-data/spreadsheet/64261.xls
new file mode 100644
index 0000000000..83d9465476
--- /dev/null
+++ b/test-data/spreadsheet/64261.xls
Binary files differ