diff --git a/Userland/Libraries/LibJS/Runtime/TypedArrayPrototype.cpp b/Userland/Libraries/LibJS/Runtime/TypedArrayPrototype.cpp index f5e559697a..e438a069db 100644 --- a/Userland/Libraries/LibJS/Runtime/TypedArrayPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/TypedArrayPrototype.cpp @@ -53,7 +53,12 @@ static TypedArrayBase* typed_array_from(VM& vm, GlobalObject& global_object) vm.throw_exception(global_object, ErrorType::NotA, "TypedArray"); return nullptr; } - return static_cast(this_object); + auto* typed_array = static_cast(this_object); + if (typed_array->viewed_array_buffer()->is_detached()) { + vm.throw_exception(global_object, ErrorType::DetachedArrayBuffer); + return nullptr; + } + return typed_array; } static Function* callback_from_args(GlobalObject& global_object, const String& name)