aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ImageFilterTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ImageFilterTest.cpp')
-rw-r--r--tests/ImageFilterTest.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/ImageFilterTest.cpp b/tests/ImageFilterTest.cpp
index db269f00e8..c39cc2ee83 100644
--- a/tests/ImageFilterTest.cpp
+++ b/tests/ImageFilterTest.cpp
@@ -38,6 +38,7 @@
#include "SkTableColorFilter.h"
#include "SkTileImageFilter.h"
#include "SkXfermodeImageFilter.h"
+#include "Resources.h"
#include "Test.h"
#include "sk_tool_utils.h"
@@ -1717,6 +1718,18 @@ DEF_TEST(ImageFilterImageSourceSerialization, reporter) {
REPORTER_ASSERT(reporter, *bm.getAddr32(0, 0) == SkPreMultiplyColor(SK_ColorGREEN));
}
+DEF_TEST(ImageFilterImageSourceUninitialized, r) {
+ sk_sp<SkData> data(GetResourceAsData("crbug769134.fil"));
+ if (!data) {
+ return;
+ }
+ sk_sp<SkImageFilter> unflattenedFilter = SkValidatingDeserializeImageFilter(data->data(),
+ data->size());
+ // This will fail. More importantly, msan will verify that we did not
+ // compare against uninitialized memory.
+ REPORTER_ASSERT(r, !unflattenedFilter);
+}
+
static void test_large_blur_input(skiatest::Reporter* reporter, SkCanvas* canvas) {
SkBitmap largeBmp;
int largeW = 5000;