From 964c9830fa956249e5f3f3e30bf5d2d307ca3572 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Sat, 6 Apr 2019 22:12:00 +0200 Subject: Add nullcheck in nsSVGUtils::PaintFrameWithEffects Some SVGs define a mask but an invalid mask frame. Check to make sure we have a `maskFrame` that isn't null before trying to use it. This resolves #1034 --- layout/svg/nsSVGUtils.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'layout') diff --git a/layout/svg/nsSVGUtils.cpp b/layout/svg/nsSVGUtils.cpp index 0bded21ff..98e5f9b5f 100644 --- a/layout/svg/nsSVGUtils.cpp +++ b/layout/svg/nsSVGUtils.cpp @@ -734,9 +734,12 @@ nsSVGUtils::PaintFrameWithEffects(nsIFrame *aFrame, RefPtr maskSurface; if (maskUsage.shouldGenerateMaskLayer) { - maskSurface = - maskFrame->GetMaskForMaskedFrame(&aContext, aFrame, aTransform, - maskUsage.opacity, &maskTransform); + // Make sure we have a mask frame. + if (maskFrame) { + maskSurface = + maskFrame->GetMaskForMaskedFrame(&aContext, aFrame, aTransform, + maskUsage.opacity, &maskTransform); + } if (!maskSurface) { // Entire surface is clipped out. -- cgit v1.2.3