From cdb2ba13989badf60d88c75daf69c94ae6ac2e13 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Thu, 24 Aug 2023 08:48:45 +0000 Subject: Bug 66425: Avoid a NullPointerException found via oss-fuzz We try to avoid throwing NullPointerException, but it was possible to trigger one here with a specially crafted input-file Should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=61441 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1911890 13f79535-47bb-0310-9956-ffa450edef68 --- .../opc/PackageRelationshipCollection.java | 19 ++++++++----------- ...stcase-minimized-POIFuzzer-5205835528404992.pptx | Bin 0 -> 36689 bytes test-data/spreadsheet/stress.xls | Bin 66048 -> 67072 bytes 3 files changed, 8 insertions(+), 11 deletions(-) create mode 100644 test-data/slideshow/clusterfuzz-testcase-minimized-POIFuzzer-5205835528404992.pptx diff --git a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java index 350e63e22d..44feeefeb4 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java +++ b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/PackageRelationshipCollection.java @@ -44,15 +44,10 @@ public final class PackageRelationshipCollection implements Iterable relationshipsByID = new TreeMap<>(); - /** - * Package relationships ordered by type. - */ - private final TreeMap relationshipsByType = new TreeMap<>(); - /** * A lookup of internal relationships to avoid */ - private HashMap internalRelationshipsByTargetName = new HashMap<>(); + private final HashMap internalRelationshipsByTargetName = new HashMap<>(); /** @@ -195,7 +190,6 @@ public final class PackageRelationshipCollection implements Iterable" : relPart.getId()) + " for relationship: " + relPart); } relationshipsByID.put(relPart.getId(), relPart); - relationshipsByType.put(relPart.getRelationshipType(), relPart); } /** @@ -214,8 +208,8 @@ public final class PackageRelationshipCollection implements Iterable