Author: centic
Date: Sun Jul 14 11:26:50 2024
New Revision: 1919214

URL: http://svn.apache.org/viewvc?rev=1919214&view=rev
Log:
Bug 66425: Avoid exceptions found via poi-fuzz

Prevent a ClassCastException

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66089

Added:
    
poi/trunk/test-data/spreadsheet/clusterfuzz-testcase-minimized-POIHSSFFuzzer-4651309315719168.xls
Modified:
    
poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/TestAllFiles.java
    
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java
    
poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java
    poi/trunk/test-data/spreadsheet/stress.xls

Modified: 
poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/TestAllFiles.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/TestAllFiles.java?rev=1919214&r1=1919213&r2=1919214&view=diff
==============================================================================
--- 
poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/TestAllFiles.java 
(original)
+++ 
poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/TestAllFiles.java 
Sun Jul 14 11:26:50 2024
@@ -137,6 +137,7 @@ public class TestAllFiles {
         
"spreadsheet/clusterfuzz-testcase-minimized-POIXSSFFuzzer-5089447305609216.xlsx",
         
"spreadsheet/clusterfuzz-testcase-minimized-POIXSSFFuzzer-5089447305609216.xlsx",
         
"spreadsheet/clusterfuzz-testcase-minimized-POIXSSFFuzzer-5089447305609216.xlsx",
+        
"spreadsheet/clusterfuzz-testcase-minimized-POIHSSFFuzzer-4651309315719168.xls",
     });
 
     private static final Set<String> EXPECTED_FAILURES = 
StressTestUtils.unmodifiableHashSet(

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java?rev=1919214&r1=1919213&r2=1919214&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java 
(original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java 
Sun Jul 14 11:26:50 2024
@@ -516,6 +516,9 @@ public final class RecordInputStream imp
      */
     @Internal
     public void mark(int readlimit) {
+        if (!(_dataInput instanceof InputStream)) {
+            throw new IllegalStateException("Cannot use mark for dataInput of 
type " + _dataInput.getClass() + ", need an InputStream");
+        }
         ((InputStream)_dataInput).mark(readlimit);
         _markedDataOffset = _currentDataOffset;
     }

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java?rev=1919214&r1=1919213&r2=1919214&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java 
(original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java 
Sun Jul 14 11:26:50 2024
@@ -90,6 +90,7 @@ public abstract class BaseTestIteratingX
         
excludes.put("clusterfuzz-testcase-minimized-POIHSSFFuzzer-6322470200934400.xls",
 RuntimeException.class);
         
excludes.put("clusterfuzz-testcase-minimized-POIHSSFFuzzer-4819588401201152.xls",
 RuntimeException.class);
         
excludes.put("clusterfuzz-testcase-minimized-POIHSSFFuzzer-6537773940867072.xls",
 RuntimeException.class);
+        
excludes.put("clusterfuzz-testcase-minimized-POIHSSFFuzzer-4651309315719168.xls",
 RuntimeException.class);
         return excludes;
     }
 

Added: 
poi/trunk/test-data/spreadsheet/clusterfuzz-testcase-minimized-POIHSSFFuzzer-4651309315719168.xls
URL: 
http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/clusterfuzz-testcase-minimized-POIHSSFFuzzer-4651309315719168.xls?rev=1919214&view=auto
==============================================================================
Binary files 
poi/trunk/test-data/spreadsheet/clusterfuzz-testcase-minimized-POIHSSFFuzzer-4651309315719168.xls
 (added) and 
poi/trunk/test-data/spreadsheet/clusterfuzz-testcase-minimized-POIHSSFFuzzer-4651309315719168.xls
 Sun Jul 14 11:26:50 2024 differ

Modified: poi/trunk/test-data/spreadsheet/stress.xls
URL: 
http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/stress.xls?rev=1919214&r1=1919213&r2=1919214&view=diff
==============================================================================
Binary files - no diff available.



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to