diff --git a/gpu/src/GrGLStencilBuffer.h b/gpu/src/GrGLStencilBuffer.h
index f55f518..c2f6aea 100644
--- a/gpu/src/GrGLStencilBuffer.h
+++ b/gpu/src/GrGLStencilBuffer.h
@@ -37,10 +37,11 @@
     }
 
     virtual size_t sizeInBytes() const {
-        return (size_t) this->width() *
-                        this->height() *
-                        fFormat.fTotalBits *
-                        GrMax(1,this->numSamples());
+        uint64_t size = this->width();
+        size *= this->height();
+        size *= fFormat.fTotalBits;
+        size *= GrMax(1,this->numSamples());
+        return (size_t)(size / 8);
     }
 
     GrGLuint renderbufferID() const {
diff --git a/gpu/src/GrRenderTarget.cpp b/gpu/src/GrRenderTarget.cpp
index 7b26811..a5f1216 100644
--- a/gpu/src/GrRenderTarget.cpp
+++ b/gpu/src/GrRenderTarget.cpp
@@ -31,10 +31,11 @@
     } else {
         colorBits = GrBytesPerPixel(fConfig);
     }
-    return (size_t) fAllocatedWidth *
-                    fAllocatedHeight *
-                    colorBits *
-                    GrMax(1,fSampleCnt);
+    uint64_t size = fAllocatedWidth;
+    size *= fAllocatedHeight;
+    size *= colorBits;
+    size *= GrMax(1,fSampleCnt);
+    return (size_t)(size / 8);
 }
 
 void GrRenderTarget::flagAsNeedingResolve(const GrIRect* rect) {
@@ -71,4 +72,4 @@
         fStencilBuffer->wasAttachedToRenderTarget(this);
         fStencilBuffer->ref();
     }
-}
\ No newline at end of file
+}
