fix: confirm a v8::Value is a v8::Object before casting it (#43575)

fix: confirm a v8::Value is a v8::Object before casting it
This commit is contained in:
Charles Kerr 2024-09-06 11:20:04 -05:00 committed by GitHub
parent cc5aa65cb4
commit fe0d4274e2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -30,12 +30,12 @@ namespace electron {
namespace {
bool IsValidWrappable(const v8::Local<v8::Value>& obj) {
v8::Local<v8::Object> port = v8::Local<v8::Object>::Cast(obj);
if (!port->IsObject())
bool IsValidWrappable(const v8::Local<v8::Value>& val) {
if (!val->IsObject())
return false;
v8::Local<v8::Object> port = val.As<v8::Object>();
if (port->InternalFieldCount() != gin::kNumberOfInternalFields)
return false;