Skip to content

Commit 2d52160

Browse files
committed
Ensure sufficient space for local references
1 parent 9deea1d commit 2d52160

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

java/rocksjni/env.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,12 @@ jobjectArray Java_org_rocksdb_Env_getThreadList(JNIEnv* env, jclass,
137137

138138
// object[]
139139
const jsize len = static_cast<jsize>(thread_status.size());
140+
if (env->EnsureLocalCapacity(len)) < 0) {
141+
// out of memory
142+
env->ExceptionClear();
143+
ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env, "Insufficient JNI local references for thread list");
144+
return nullptr;
145+
}
140146
jobjectArray jthread_status = env->NewObjectArray(
141147
len, ROCKSDB_NAMESPACE::ThreadStatusJni::getJClass(env), nullptr);
142148
if (jthread_status == nullptr) {

0 commit comments

Comments
 (0)