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
diff --git a/native/graphics/jni/bitmap.cpp b/native/graphics/jni/bitmap.cpp
index 4f21ccb..2bee758 100644
--- a/native/graphics/jni/bitmap.cpp
+++ b/native/graphics/jni/bitmap.cpp
@@ -33,10 +33,14 @@
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();
}