summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabrice Bellard <fabrice@bellard.org>2025-04-21 16:14:00 +0200
committerFabrice Bellard <fabrice@bellard.org>2025-04-21 16:14:00 +0200
commitfbf7d8a205e9ecbefed5d72947c53272405d2cee (patch)
treec6d500e5f1a949af94afc975d816965bcb08fda6
parent334aa18013f8b3889b8bdddfea68e35830dbcadc (diff)
downloadquickjs-fbf7d8a205e9ecbefed5d72947c53272405d2cee.tar.gz
quickjs-fbf7d8a205e9ecbefed5d72947c53272405d2cee.zip
fixed detached TypedArray handling in Atomics operations
-rw-r--r--quickjs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/quickjs.c b/quickjs.c
index 85dc0d0..dffc3d6 100644
--- a/quickjs.c
+++ b/quickjs.c
@@ -53807,6 +53807,11 @@ static void *js_atomics_get_ptr(JSContext *ctx,
if (JS_ToIndex(ctx, &idx, idx_val)) {
return NULL;
}
+ /* RevalidateAtomicAccess(): must test again detached after JS_ToIndex() */
+ if (abuf->detached) {
+ JS_ThrowTypeErrorDetachedArrayBuffer(ctx);
+ return NULL;
+ }
/* if the array buffer is detached, p->u.array.count = 0 */
if (idx >= p->u.array.count) {
JS_ThrowRangeError(ctx, "out-of-bound access");