You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/03/05 20:49:50 UTC
svn commit: r1874856 -
/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java
Author: tilman
Date: Thu Mar 5 20:49:50 2020
New Revision: 1874856
URL: http://svn.apache.org/viewvc?rev=1874856&view=rev
Log:
PDFBOX-4794: avoid NPE
Modified:
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java
Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java?rev=1874856&r1=1874855&r2=1874856&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java Thu Mar 5 20:49:50 2020
@@ -46,6 +46,7 @@ import org.apache.pdfbox.pdmodel.graphic
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.pdmodel.graphics.pattern.PDAbstractPattern;
import org.apache.pdfbox.pdmodel.graphics.pattern.PDTilingPattern;
+import org.apache.pdfbox.pdmodel.graphics.state.PDExtendedGraphicsState;
import org.apache.pdfbox.pdmodel.graphics.state.PDSoftMask;
import org.apache.pdfbox.pdmodel.graphics.state.RenderingMode;
import org.apache.pdfbox.tools.imageio.ImageIOUtil;
@@ -204,7 +205,13 @@ public final class ExtractImages
}
for (COSName name : res.getExtGStateNames())
{
- PDSoftMask softMask = res.getExtGState(name).getSoftMask();
+ PDExtendedGraphicsState extGState = res.getExtGState(name);
+ if (extGState == null)
+ {
+ // can happen if key exists but no value
+ continue;
+ }
+ PDSoftMask softMask = extGState.getSoftMask();
if (softMask != null)
{
PDTransparencyGroup group = softMask.getGroup();