import org.apache.poi.hslf.exceptions.OldPowerPointFormatException;
import org.apache.poi.poifs.filesystem.DirectoryNode;
import org.apache.poi.poifs.filesystem.DocumentEntry;
+import org.apache.poi.poifs.filesystem.Entry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.LittleEndian;
*/
public CurrentUserAtom(DirectoryNode dir) throws IOException {
// Decide how big it is
- DocumentEntry docProps =
- (DocumentEntry)dir.getEntry("Current User");
+ final Entry entry = dir.getEntry("Current User");
+ if (!(entry instanceof DocumentEntry)) {
+ throw new IllegalArgumentException("Had unexpected type of entry for name: Current User: " + entry.getClass());
+ }
+ DocumentEntry docProps = (DocumentEntry) entry;
// If it's clearly junk, bail out
if(docProps.getSize() > 131072) {
static final Map<String,Class<? extends Throwable>> EXCLUDED = new HashMap<>();
static {
EXCLUDED.put("clusterfuzz-testcase-minimized-POIHSLFFuzzer-6416153805979648.ppt", Exception.class);
+ EXCLUDED.put("clusterfuzz-testcase-minimized-POIHSLFFuzzer-6710128412590080.ppt", RuntimeException.class);
}
public static Stream<Arguments> files() {