From a52e52dfb59066089151c505237a6276068a72f8 Mon Sep 17 00:00:00 2001 From: Tom Klein Date: Sun, 11 Oct 2015 18:13:10 +0200 Subject: [PATCH] Bug 1212954 - Make BaseSize::IsEmpty return true for negative sizes to avoid NS_ERROR in VectorImage::GetFrameAtSize when root svg doesn't have intrinsic width or height. r=roc --- gfx/2d/BaseSize.h | 2 +- image/test/crashtests/1212954-1.svg | 16 ++++++++++++++++ image/test/crashtests/crashtests.list | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 image/test/crashtests/1212954-1.svg diff --git a/gfx/2d/BaseSize.h b/gfx/2d/BaseSize.h index cf2130df8c88..5048885e4dc8 100644 --- a/gfx/2d/BaseSize.h +++ b/gfx/2d/BaseSize.h @@ -27,7 +27,7 @@ struct BaseSize { void SizeTo(T aWidth, T aHeight) { width = aWidth; height = aHeight; } bool IsEmpty() const { - return width == 0 || height == 0; + return width <= 0 || height <= 0; } bool IsSquare() const { diff --git a/image/test/crashtests/1212954-1.svg b/image/test/crashtests/1212954-1.svg new file mode 100644 index 000000000000..83dd7b9c7fc2 --- /dev/null +++ b/image/test/crashtests/1212954-1.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/image/test/crashtests/crashtests.list b/image/test/crashtests/crashtests.list index d43861fa46c3..4e4e39476a6f 100644 --- a/image/test/crashtests/crashtests.list +++ b/image/test/crashtests/crashtests.list @@ -54,6 +54,7 @@ load invalid-disposal-method-2.gif load invalid-disposal-method-3.gif load 1205923-1.html +load 1212954-1.svg # Ensure we handle ICO directory entries which specify the wrong size for the # contained resource.