Index: src/core/SkBitmap.cpp |
diff --git a/src/core/SkBitmap.cpp b/src/core/SkBitmap.cpp |
index e5cc0d7fcd7b627bcecf57d4bde26c0567c2ba80..522dfb1ebb0bf5677600de315b5949b5f7b52d93 100644 |
--- a/src/core/SkBitmap.cpp |
+++ b/src/core/SkBitmap.cpp |
@@ -1308,7 +1308,9 @@ bool SkBitmap::ReadRawPixels(SkReadBuffer* buffer, SkBitmap* bitmap) { |
const int height = info.height(); |
const size_t snugSize = snugRB * height; |
const size_t ramSize = ramRB * height; |
- SkASSERT(snugSize <= ramSize); |
+ if (!buffer->validate(snugSize <= ramSize)) { |
+ return false; |
+ } |
char* dst = (char*)sk_malloc_throw(ramSize); |
buffer->readByteArray(dst, snugSize); |