add ADD xfermode
safely handle (don't draw) if the size of SkMask exceeds 31bits
git-svn-id: http://skia.googlecode.com/svn/trunk@159 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/SkEmbossMaskFilter.cpp b/src/effects/SkEmbossMaskFilter.cpp
index fcfad9d..67c8024 100644
--- a/src/effects/SkEmbossMaskFilter.cpp
+++ b/src/effects/SkEmbossMaskFilter.cpp
@@ -88,7 +88,9 @@
{
uint8_t* alphaPlane = dst->fImage;
size_t planeSize = dst->computeImageSize();
-
+ if (0 == planeSize) {
+ return false; // too big to allocate, abort
+ }
dst->fImage = SkMask::AllocImage(planeSize * 3);
memcpy(dst->fImage, alphaPlane, planeSize);
SkMask::FreeImage(alphaPlane);