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);