Index: src/core/SkImageFilter.cpp |
diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp |
index 502613bb68835caf66d4dcb4d893b90b6697a1ad..eaa11a334b8d9d4ad893cc8d78f33c8cc6015ebe 100644 |
--- a/src/core/SkImageFilter.cpp |
+++ b/src/core/SkImageFilter.cpp |
@@ -10,6 +10,7 @@ |
#include "SkBitmap.h" |
#include "SkFlattenableBuffers.h" |
#include "SkRect.h" |
+#include "SkValidationUtils.h" |
#if SK_SUPPORT_GPU |
#include "GrContext.h" |
#include "GrTexture.h" |
@@ -62,6 +63,9 @@ SkImageFilter::SkImageFilter(SkFlattenableReadBuffer& buffer) |
} |
} |
buffer.readIRect(&fCropRect); |
+ // Do not use SkIsValidRect() here, since width() and height() are allowed |
+ // to be larger than SK_MaxS32 in this specific case. Check inversion instead. |
+ buffer.validate(!fCropRect.isInverted()); |
} |
void SkImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const { |