diff --git a/test/js-native-api/test_reference_double_free/test_reference_double_free.c b/test/js-native-api/test_reference_double_free/test_reference_double_free.c index 8c738aa2f0f5a8..32f08c8e66adf1 100644 --- a/test/js-native-api/test_reference_double_free/test_reference_double_free.c +++ b/test/js-native-api/test_reference_double_free/test_reference_double_free.c @@ -44,21 +44,22 @@ static napi_value New(napi_env env, napi_callback_info info) { static void NoopDeleter(napi_env env, void* data, void* hint) {} -static void DeleteImmediately(napi_env env, napi_callback_info info) { +static napi_value DeleteImmediately(napi_env env, napi_callback_info info) { size_t argc = 1; napi_value js_obj; napi_ref ref; + napi_valuetype type; - NODE_API_CALL_RETURN_VOID(env, - napi_get_cb_info(env, info, &argc, &js_obj, NULL, NULL)); + NODE_API_CALL(env, napi_get_cb_info(env, info, &argc, &js_obj, NULL, NULL)); - napi_valuetype type; - NODE_API_CALL_RETURN_VOID(env, napi_typeof(env, js_obj, &type)); + NODE_API_CALL(env, napi_typeof(env, js_obj, &type)); + NODE_API_ASSERT(env, type == napi_object, "Expected object parameter"); + + NODE_API_CALL(env, napi_wrap(env, js_obj, NULL, NoopDeleter, NULL, &ref)); + NODE_API_CALL(env, napi_delete_reference(env, ref)); + NODE_API_CALL(env, napi_remove_wrap(env, js_obj, NULL)); - NODE_API_CALL_RETURN_VOID(env, - napi_wrap(env, js_obj, NULL, NoopDeleter, NULL, &ref)); - NODE_API_CALL_RETURN_VOID(env, napi_delete_reference(env, ref)); - NODE_API_CALL_RETURN_VOID(env, napi_remove_wrap(env, js_obj, NULL)); + return NULL; } EXTERN_C_START