From f8e41c5fc2539b223a435929150d9547ab531be3 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Sun, 19 Jan 2020 19:32:43 -0500 Subject: 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 --- native/graphics/jni/bitmap.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'native') 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(); } -- cgit v1.2.3