diff options
author | Leon Scroggins III <scroggo@google.com> | 2020-01-19 19:32:43 -0500 |
---|---|---|
committer | Leon Scroggins III <scroggo@google.com> | 2020-01-21 11:51:09 -0500 |
commit | f8e41c5fc2539b223a435929150d9547ab531be3 (patch) | |
tree | caac600da56a872181e1db176b1d12b4fa260c01 | |
parent | 84a2afcbfbfbbc91cbaf83d55a8ebccc987e66f1 (diff) |
Make getDataSpace fail instead of crash on recycled
Bug: 135133301
Test: I32e9a257a63382629b25f64d1d0abe9682ddec70
Make sure the Bitmap is valid before trying to read its data space.
Change-Id: I0d075197ddc548143a4e4845cc5cc5d3b10d87c7
-rw-r--r-- | native/graphics/jni/bitmap.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/native/graphics/jni/bitmap.cpp b/native/graphics/jni/bitmap.cpp index 4f21ccba2419..2bee758e1958 100644 --- a/native/graphics/jni/bitmap.cpp +++ b/native/graphics/jni/bitmap.cpp @@ -33,10 +33,14 @@ int AndroidBitmap_getInfo(JNIEnv* env, jobject jbitmap, int32_t AndroidBitmap_getDataSpace(JNIEnv* env, jobject jbitmap) { if (NULL == env || NULL == jbitmap) { - return ADATASPACE_UNKNOWN; // Or return a real error? + return ADATASPACE_UNKNOWN; } android::graphics::Bitmap bitmap(env, jbitmap); + if (!bitmap.isValid()) { + return ADATASPACE_UNKNOWN; + } + return bitmap.getDataSpace(); } |