Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2105f09

Browse filesBrowse files
vmorozRafaelGSS
authored andcommitted
node-api,test: fix test_reference_double_free crash
PR-URL: #44927 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 8662399 commit 2105f09
Copy full SHA for 2105f09

File tree

Expand file treeCollapse file tree

1 file changed

+10
-9
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+10
-9
lines changed
Open diff view settings
Collapse file

‎test/js-native-api/test_reference_double_free/test_reference_double_free.c‎

Copy file name to clipboardExpand all lines: test/js-native-api/test_reference_double_free/test_reference_double_free.c
+10-9Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,22 @@ static napi_value New(napi_env env, napi_callback_info info) {
4444

4545
static void NoopDeleter(napi_env env, void* data, void* hint) {}
4646

47-
static void DeleteImmediately(napi_env env, napi_callback_info info) {
47+
static napi_value DeleteImmediately(napi_env env, napi_callback_info info) {
4848
size_t argc = 1;
4949
napi_value js_obj;
5050
napi_ref ref;
51+
napi_valuetype type;
5152

52-
NODE_API_CALL_RETURN_VOID(env,
53-
napi_get_cb_info(env, info, &argc, &js_obj, NULL, NULL));
53+
NODE_API_CALL(env, napi_get_cb_info(env, info, &argc, &js_obj, NULL, NULL));
5454

55-
napi_valuetype type;
56-
NODE_API_CALL_RETURN_VOID(env, napi_typeof(env, js_obj, &type));
55+
NODE_API_CALL(env, napi_typeof(env, js_obj, &type));
56+
NODE_API_ASSERT(env, type == napi_object, "Expected object parameter");
57+
58+
NODE_API_CALL(env, napi_wrap(env, js_obj, NULL, NoopDeleter, NULL, &ref));
59+
NODE_API_CALL(env, napi_delete_reference(env, ref));
60+
NODE_API_CALL(env, napi_remove_wrap(env, js_obj, NULL));
5761

58-
NODE_API_CALL_RETURN_VOID(env,
59-
napi_wrap(env, js_obj, NULL, NoopDeleter, NULL, &ref));
60-
NODE_API_CALL_RETURN_VOID(env, napi_delete_reference(env, ref));
61-
NODE_API_CALL_RETURN_VOID(env, napi_remove_wrap(env, js_obj, NULL));
62+
return NULL;
6263
}
6364

6465
EXTERN_C_START

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.