From 96308eb51259d9e5cb19ef6d5ea0af0f1ecadd84 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Tue, 20 Nov 2018 14:15:14 +0000 Subject: [PATCH] [bug-62929] add null check for blip fill. Thanks to Mate Borcsok git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1847004 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xslf/usermodel/XSLFPictureShape.java | 21 ++++++++++---- .../org/apache/poi/xslf/TestXSLFBugs.java | 26 ++++++++++++++---- test-data/slideshow/missing-blip-fill.pptx | Bin 0 -> 40732 bytes 3 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 test-data/slideshow/missing-blip-fill.pptx diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java index 97b4ab8cb0..95a8f0bc23 100644 --- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java +++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java @@ -170,16 +170,25 @@ public class XSLFPictureShape extends XSLFSimpleShape @SuppressWarnings("WeakerAccess") protected String getBlipLink(){ - String link = getBlip().getLink(); - if (link.isEmpty()) return null; - return link; + CTBlip blip = getBlip(); + if (blip != null) { + String link = blip.getLink(); + if (link.isEmpty()) return null; + return link;} else { + return null; + } } @SuppressWarnings("WeakerAccess") protected String getBlipId(){ - String id = getBlip().getEmbed(); - if (id.isEmpty()) return null; - return id; + CTBlip blip = getBlip(); + if (blip != null) { + String id = getBlip().getEmbed(); + if (id.isEmpty()) return null; + return id; + } else { + return null; + } } @Override diff --git a/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java b/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java index 48b0816993..8dbc8ca23e 100644 --- a/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java @@ -17,12 +17,7 @@ package org.apache.poi.xslf; import static org.apache.poi.POITestCase.assertContains; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; import java.awt.Color; import java.awt.Dimension; @@ -93,6 +88,25 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTShape; public class TestXSLFBugs { private static final POIDataSamples slTests = POIDataSamples.getSlideShowInstance(); + @Test + public void bug62929() throws Exception { + try(XMLSlideShow ss1 = XSLFTestDataSamples.openSampleDocument("missing-blip-fill.pptx")) { + assertEquals(1, ss1.getSlides().size()); + + XSLFSlide slide = ss1.getSlides().get(0); + + assertEquals(slide.getShapes().size(), 1); + + XSLFPictureShape picture = (XSLFPictureShape)slide.getShapes().get(0); + + assertEquals(picture.getShapeId(), 662); + assertFalse(picture.isExternalLinkedPicture()); + assertNull(picture.getPictureData()); + assertNull(picture.getPictureLink()); + assertNull(picture.getClipping()); + } + } + @Test public void bug62736() throws Exception { XMLSlideShow ss1 = XSLFTestDataSamples.openSampleDocument("bug62736.pptx"); diff --git a/test-data/slideshow/missing-blip-fill.pptx b/test-data/slideshow/missing-blip-fill.pptx new file mode 100644 index 0000000000000000000000000000000000000000..62e5f675d0cd4d4c26d0567454cf897ea2bb33e4 GIT binary patch literal 40732 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