diff --git a/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp b/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp index 4c66abac09ece4..6a1e4365a08deb 100644 --- a/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +++ b/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp @@ -223,6 +223,9 @@ MethodCallResult MethodInvoker::invoke(std::weak_ptr& instance, alias_ #define OBJECT_CASE(JNI_CLASS, ACTIONS) { \ auto jobject = env->CallObjectMethodA(module.get(), method_, args); \ throwPendingJniExceptionAsCppException(); \ + if (!jobject) { \ + return folly::dynamic(nullptr); \ + } \ auto result = adopt_local(static_cast(jobject)); \ return folly::dynamic(result->ACTIONS()); \ } @@ -230,6 +233,9 @@ MethodCallResult MethodInvoker::invoke(std::weak_ptr& instance, alias_ #define OBJECT_CASE_CASTING(JNI_CLASS, ACTIONS, RESULT_TYPE) { \ auto jobject = env->CallObjectMethodA(module.get(), method_, args); \ throwPendingJniExceptionAsCppException(); \ + if (!jobject) { \ + return folly::dynamic(nullptr); \ + } \ auto result = adopt_local(static_cast(jobject)); \ return folly::dynamic(static_cast(result->ACTIONS())); \ }