From c4a471dfe9f2bbcf6c86a33a899f6e7f25182cf5 Mon Sep 17 00:00:00 2001 From: mingyix <13926077+mingyix@user.noreply.gitee.com> Date: Wed, 20 Mar 2024 10:10:00 +0800 Subject: [PATCH] [fixbug][es6/typedarray-map.js]If IsDetachedBuffer expected typedError. --- ecmascript/builtins/builtins_typedarray.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ecmascript/builtins/builtins_typedarray.cpp b/ecmascript/builtins/builtins_typedarray.cpp index ad02c9e88..fd259100a 100644 --- a/ecmascript/builtins/builtins_typedarray.cpp +++ b/ecmascript/builtins/builtins_typedarray.cpp @@ -1099,6 +1099,13 @@ JSTaggedValue BuiltinsTypedArray::Map(EcmaRuntimeCallInfo *argv) JSTaggedValue callResult = JSFunction::Call(info); mapValue.Update(callResult); RETURN_EXCEPTION_IF_ABRUPT_COMPLETION(thread); + + JSTaggedValue buffer = JSHandle::Cast(newArrObj)->GetViewedArrayBufferOrByteArray(); + if (BuiltinsArrayBuffer::IsDetachedBuffer(buffer)) { + THROW_TYPE_ERROR_AND_RETURN(argv->GetThread(), "The ArrayBuffer of typedArray is detached buffer.", + JSTaggedValue::Exception()); + } + ObjectFastOperator::FastSetPropertyByValue(thread, newArrObj.GetTaggedValue(), key.GetTaggedValue(), mapValue.GetTaggedValue()); RETURN_EXCEPTION_IF_ABRUPT_COMPLETION(thread); -- Gitee