From 5785c5106079624614b037012771b92c54f28764 Mon Sep 17 00:00:00 2001 From: vadzz Date: Sat, 13 Apr 2024 00:22:56 +0300 Subject: [PATCH] fix: add IsExternal check to GetObjectClass --- shared/V8Helpers.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/shared/V8Helpers.cpp b/shared/V8Helpers.cpp index 5f0d7d11..4cfca3a4 100644 --- a/shared/V8Helpers.cpp +++ b/shared/V8Helpers.cpp @@ -384,8 +384,12 @@ V8Class::ObjectClass V8Helpers::GetObjectClass(v8::Local obj) { if(obj->InternalFieldCount() <= static_cast(V8Class::InternalFields::OBJECT_CLASS)) return V8Class::ObjectClass::NONE; + + auto val = obj->GetInternalField(static_cast(V8Class::InternalFields::OBJECT_CLASS)); + if(!val->IsExternal()) + return V8Class::ObjectClass::NONE; - void* cls = obj->GetInternalField(static_cast(V8Class::InternalFields::OBJECT_CLASS)).As()->Value(); + void* cls = val.As()->Value(); return *reinterpret_cast(&cls); }