diff options
author | 2021-07-26 20:45:17 +0000 | |
---|---|---|
committer | 2021-07-26 20:45:17 +0000 | |
commit | 34def796c98539e23e86d2d3728d46ab3c4a79da (patch) | |
tree | 0d36e18c10253c0da0bd28ecb4ed5b0f15201fb4 | |
parent | 7f1c09cb105a718af28135d5c9b0022e77dcac19 (diff) |
Fixes crash when constructing NinePatch with null chunk data
Previously, ART runtime would crash checking the size of the
chunk array if it was null. Now we simply set the chunk size to
zero and fail with an exception, the same as when the array is not
large enough.
Test: NinePatchTest#testConstructor
Fixes: 189478462
Change-Id: I0352a9b6be1ce64c6a40ce8dffdaa146aacb7a03
-rw-r--r-- | libs/hwui/jni/NinePatch.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/hwui/jni/NinePatch.cpp b/libs/hwui/jni/NinePatch.cpp index 6942017d5f27..b7ddd211b0de 100644 --- a/libs/hwui/jni/NinePatch.cpp +++ b/libs/hwui/jni/NinePatch.cpp @@ -64,7 +64,7 @@ public: } static jlong validateNinePatchChunk(JNIEnv* env, jobject, jbyteArray obj) { - size_t chunkSize = env->GetArrayLength(obj); + size_t chunkSize = obj != NULL ? env->GetArrayLength(obj) : 0; if (chunkSize < (int) (sizeof(Res_png_9patch))) { jniThrowRuntimeException(env, "Array too small for chunk."); return NULL; |