diff --git a/include/support/jni_util.h b/include/support/jni_util.h index 7659abd168..a330f7abd9 100644 --- a/include/support/jni_util.h +++ b/include/support/jni_util.h @@ -167,7 +167,7 @@ class JArrayRefBase : public JArrayRefInner, T> { m_elements = env->Get##F##ArrayElements(jarr, nullptr); \ } \ ~J##F##ArrayRef() { \ - if (m_elements) \ + if (m_jarr && m_elements) \ m_env->Release##F##ArrayElements(static_cast(m_jarr), \ m_elements, JNI_ABORT); \ } \ @@ -181,7 +181,7 @@ class JArrayRefBase : public JArrayRefInner, T> { static_cast(env->GetPrimitiveArrayCritical(jarr, nullptr)); \ } \ ~CriticalJ##F##ArrayRef() { \ - if (m_elements) \ + if (m_jarr && m_elements) \ m_env->ReleasePrimitiveArrayCritical(m_jarr, m_elements, JNI_ABORT); \ } \ };