From 2f37b059f7f746d73e308f920db9050b20d63436 Mon Sep 17 00:00:00 2001 From: wforget <643348094@qq.com> Date: Fri, 23 Jan 2026 16:48:49 +0800 Subject: [PATCH] [GLUTEN-11473] Add null check for array_ when releasing JavaRssClient --- cpp/core/jni/JniCommon.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cpp/core/jni/JniCommon.h b/cpp/core/jni/JniCommon.h index fdc084fd2f34..cb400e2db321 100644 --- a/cpp/core/jni/JniCommon.h +++ b/cpp/core/jni/JniCommon.h @@ -502,9 +502,12 @@ class JavaRssClient : public RssClient { return; } env->DeleteGlobalRef(javaRssShuffleWriter_); - jbyte* byteArray = env->GetByteArrayElements(array_, NULL); - env->ReleaseByteArrayElements(array_, byteArray, JNI_ABORT); - env->DeleteGlobalRef(array_); + // array_ may be nullptr when failed to allocate new byte array in pushPartitionData + if (array_ != nullptr) { + jbyte* byteArray = env->GetByteArrayElements(array_, NULL); + env->ReleaseByteArrayElements(array_, byteArray, JNI_ABORT); + env->DeleteGlobalRef(array_); + } } int32_t pushPartitionData(int32_t partitionId, const char* bytes, int64_t size) override {