Skip to content

Commit d7cc341

Browse files
committed
src: return if Get or ToObject return an empty before call ToLocalChecked
1 parent dbee7b0 commit d7cc341

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

‎src/node.cc‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2366,8 +2366,18 @@ static void DLOpen(const FunctionCallbackInfo<Value>& args) {
23662366
modlist_addon = mp;
23672367

23682368
Local<String> exports_string = env->exports_string();
2369+
MaybeLocal<Value> maybe_exports =
2370+
module->Get(env->context(), exports_string);
2371+
2372+
if (maybe_exports.IsEmpty() ||
2373+
maybe_exports.ToLocalChecked()->ToObject(env->context()).IsEmpty()) {
2374+
dlib.Close();
2375+
return;
2376+
}
2377+
23692378
Local<Object> exports =
2370-
module->Get(env->context(), exports_string).ToLocalChecked().As<Object>();
2379+
maybe_exports.ToLocalChecked()->ToObject(env->context())
2380+
.FromMaybe(Local<Object>());
23712381

23722382
if (mp->nm_context_register_func != nullptr) {
23732383
mp->nm_context_register_func(exports, module, env->context(), mp->nm_priv);

0 commit comments

Comments
 (0)