Commit 8f7b017a authored by Alex Henrie's avatar Alex Henrie
Browse files

Bug 1605554 - Fix use after free in GetSkImageForSurface. r=lsalzman

Differential Revision: https://phabricator.services.mozilla.com/D58089

--HG--
extra : moz-landing-system : lando
parent 70390639
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -247,6 +247,11 @@ static sk_sp<SkImage> GetSkImageForSurface(SourceSurface* aSurface,
    return nullptr;
  }

  // Skia doesn't support RGBX surfaces so ensure that the alpha value is opaque
  // white.
  MOZ_ASSERT(VerifyRGBXCorners(surf->GetData(), surf->GetSize(), surf->Stride(),
                               surf->GetFormat(), aBounds, aMatrix));

  SkPixmap pixmap(MakeSkiaImageInfo(surf->GetSize(), surf->GetFormat()),
                  surf->GetData(), surf->Stride());
  sk_sp<SkImage> image =
@@ -256,10 +261,6 @@ static sk_sp<SkImage> GetSkImageForSurface(SourceSurface* aSurface,
    gfxDebug() << "Failed making Skia raster image for temporary surface";
  }

  // Skia doesn't support RGBX surfaces so ensure that the alpha value is opaque
  // white.
  MOZ_ASSERT(VerifyRGBXCorners(surf->GetData(), surf->GetSize(), surf->Stride(),
                               surf->GetFormat(), aBounds, aMatrix));
  return image;
}