You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ta...@apache.org on 2017/01/13 20:55:04 UTC
svn commit: r1778664 -
/poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
Author: tallison
Date: Fri Jan 13 20:55:04 2017
New Revision: 1778664
URL: http://svn.apache.org/viewvc?rev=1778664&view=rev
Log:
bug 60584 -- avoid NPE by checking for null/missing image in XSSFReader's getShapes().
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java?rev=1778664&r1=1778663&r2=1778664&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java Fri Jan 13 20:55:04 2017
@@ -37,6 +37,8 @@ import org.apache.poi.openxml4j.opc.Pack
import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.xssf.model.SharedStringsTable;
import org.apache.poi.xssf.model.StylesTable;
@@ -57,6 +59,9 @@ import org.openxmlformats.schemas.spread
* for XSSF.
*/
public class XSSFReader {
+
+ private static final POILogger LOGGER = POILogFactory.getLogger(XSSFReader.class);
+
private OPCPackage pkg;
private PackagePart workbookPart;
@@ -318,6 +323,11 @@ public class XSSFReader {
PackageRelationship drawings = drawingsList.getRelationship(i);
PackagePartName drawingsName = PackagingURIHelper.createPartName(drawings.getTargetURI());
PackagePart drawingsPart = sheetPkg.getPackage().getPart(drawingsName);
+ if (drawingsPart == null) {
+ //parts can go missing; Excel ignores them silently -- TIKA-2134
+ LOGGER.log(POILogger.WARN, "Missing drawing: "+drawingsName +". Skipping it.");
+ continue;
+ }
XSSFDrawing drawing = new XSSFDrawing(drawingsPart);
for (XSSFShape shape : drawing.getShapes()){
shapes.add(shape);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org