Merge "Check that bitmap's size does not exceed 32 bits. DO NOT MERGE" into lmp-mr1-dev
diff --git a/core/jni/android/graphics/Graphics.cpp b/core/jni/android/graphics/Graphics.cpp
index a51af40..3ea9b58 100644
--- a/core/jni/android/graphics/Graphics.cpp
+++ b/core/jni/android/graphics/Graphics.cpp
@@ -536,7 +536,12 @@
return NULL;
}
- const size_t size = bitmap->getSize();
+ const int64_t size64 = bitmap->computeSize64();
+ if (!sk_64_isS32(size64)) {
+ doThrowIAE(env, "bitmap size exceeds 32 bits");
+ return NULL;
+ }
+ const size_t size = sk_64_asS32(size64);
jbyteArray arrayObj = (jbyteArray) env->CallObjectMethod(gVMRuntime,
gVMRuntime_newNonMovableArray,
gByte_class, size);