summaryrefslogtreecommitdiff
path: root/native
diff options
context:
space:
mode:
authorLeon Scroggins III <scroggo@google.com>2020-01-19 19:32:43 -0500
committerLeon Scroggins III <scroggo@google.com>2020-01-21 11:51:09 -0500
commitf8e41c5fc2539b223a435929150d9547ab531be3 (patch)
treecaac600da56a872181e1db176b1d12b4fa260c01 /native
parent84a2afcbfbfbbc91cbaf83d55a8ebccc987e66f1 (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
Diffstat (limited to 'native')
-rw-r--r--native/graphics/jni/bitmap.cpp6
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();
}