aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-10-09 10:42:51 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-09 15:04:34 +0000
commitc5eb97dd8875accf2b5db5343dace78d0d4c6f79 (patch)
tree8b19795aabab39952b9fbaba699601470e4f35a0 /src/core
parentc6b2e6b061a60f603345e936e6136050da3209aa (diff)
add helper to check for overflow
pre-CL to aid in changing the convention for when we overflow Bug: skia: Change-Id: I1e34a18fefb80187787a1c0c8ed7ee3516744d24 Reviewed-on: https://skia-review.googlesource.com/57103 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkAutoPixmapStorage.cpp2
-rw-r--r--src/core/SkBitmapCache.cpp2
-rw-r--r--src/core/SkMallocPixelRef.cpp4
3 files changed, 4 insertions, 4 deletions
diff --git a/src/core/SkAutoPixmapStorage.cpp b/src/core/SkAutoPixmapStorage.cpp
index df0c0fa878..47f41e7b92 100644
--- a/src/core/SkAutoPixmapStorage.cpp
+++ b/src/core/SkAutoPixmapStorage.cpp
@@ -37,7 +37,7 @@ bool SkAutoPixmapStorage::tryAlloc(const SkImageInfo& info) {
size_t rb;
size_t size = AllocSize(info, &rb);
- if (0 == size) {
+ if (SkImageInfo::ByteSizeOverflowed(size)) {
return false;
}
void* pixels = sk_malloc_flags(size, 0);
diff --git a/src/core/SkBitmapCache.cpp b/src/core/SkBitmapCache.cpp
index 8d3991a9d5..0fc0c9e075 100644
--- a/src/core/SkBitmapCache.cpp
+++ b/src/core/SkBitmapCache.cpp
@@ -290,7 +290,7 @@ SkBitmapCache::RecPtr SkBitmapCache::Alloc(const SkBitmapCacheDesc& desc, const
const size_t rb = info.minRowBytes();
size_t size = info.computeByteSize(rb);
- if (0 == size) {
+ if (SkImageInfo::ByteSizeOverflowed(size)) {
return nullptr;
}
diff --git a/src/core/SkMallocPixelRef.cpp b/src/core/SkMallocPixelRef.cpp
index 10861028b1..4a34d39170 100644
--- a/src/core/SkMallocPixelRef.cpp
+++ b/src/core/SkMallocPixelRef.cpp
@@ -80,8 +80,8 @@ sk_sp<SkPixelRef> SkMallocPixelRef::MakeUsing(void*(*allocProc)(size_t),
size_t size = 0;
if (!info.isEmpty() && rowBytes) {
size = info.computeByteSize(rowBytes);
- if (!size) {
- return nullptr; // overflow
+ if (SkImageInfo::ByteSizeOverflowed(size)) {
+ return nullptr;
}
}
#endif