From 7762c1ac6130a9e0820853595c720bddabdccade Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Tue, 10 Jan 2023 00:11:24 +0000 Subject: [PATCH] LibJS: Verify that objects are only initialized once We already do this in a couple of other places, we wouldn't ever want to re-assign already initialized constructor and prototype objects. --- Userland/Libraries/LibJS/Runtime/Intrinsics.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Userland/Libraries/LibJS/Runtime/Intrinsics.cpp b/Userland/Libraries/LibJS/Runtime/Intrinsics.cpp index e80de460ba..70b82a470f 100644 --- a/Userland/Libraries/LibJS/Runtime/Intrinsics.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intrinsics.cpp @@ -267,6 +267,8 @@ JS_ENUMERATE_TYPED_ARRAYS { \ auto& vm = this->vm(); \ \ + VERIFY(!m_##snake_namespace##snake_name##_prototype); \ + VERIFY(!m_##snake_namespace##snake_name##_constructor); \ if constexpr (IsTypedArrayConstructor) { \ m_##snake_namespace##snake_name##_prototype = heap().allocate(m_realm, *typed_array_prototype()); \ m_##snake_namespace##snake_name##_constructor = heap().allocate(m_realm, m_realm, *typed_array_constructor()); \