summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Songyue Han <songyueh@google.com> 2024-10-25 23:27:25 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-10-25 23:27:25 +0000
commita1520e3a97fdca5c60a4b7da7f93bfade942ca01 (patch)
treee6a4a43fee9b6d3e73b0ad7da9669d8f5881bf49
parentd0de1ecdae21d61d6de204b5a22800207d8752f6 (diff)
parent22fcc65d0d9005e85ad71c60dbb0b523bb8cd36d (diff)
Merge "Adding nullptr check in Image_getHardwareBuffer() and Image_getFormat()." into main am: 66db8f0e34 am: 22fcc65d0d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3292669 Change-Id: Ic0bb31011e7802bb268ba503052e52e9774a9703 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--media/jni/android_media_ImageReader.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index 019b1e0de4d6..effa92c5f2fa 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -942,6 +942,11 @@ static jint Image_getFormat(JNIEnv* env, jobject thiz, jint readerFormat)
return static_cast<jint>(PublicFormat::PRIVATE);
} else {
BufferItem* buffer = Image_getBufferItem(env, thiz);
+ if (buffer == nullptr) {
+ jniThrowException(env, "java/lang/IllegalStateException",
+ "Image is not initialized");
+ return -1;
+ }
int readerHalFormat = mapPublicFormatToHalFormat(static_cast<PublicFormat>(readerFormat));
int32_t fmt = applyFormatOverrides(
buffer->mGraphicBuffer->getPixelFormat(), readerHalFormat);
@@ -960,6 +965,11 @@ static jint Image_getFormat(JNIEnv* env, jobject thiz, jint readerFormat)
static jobject Image_getHardwareBuffer(JNIEnv* env, jobject thiz) {
BufferItem* buffer = Image_getBufferItem(env, thiz);
+ if (buffer == nullptr) {
+ jniThrowException(env, "java/lang/IllegalStateException",
+ "Image is not initialized");
+ return NULL;
+ }
AHardwareBuffer* b = AHardwareBuffer_from_GraphicBuffer(buffer->mGraphicBuffer.get());
// don't user the public AHardwareBuffer_toHardwareBuffer() because this would force us
// to link against libandroid.so