From 3bac3ab0b5881df9998c9584c90604be648b79b6 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Sun, 16 Feb 2025 19:35:29 +0100 Subject: [PATCH] No issue - avoid potential underflow in StructuredClone. Prevents potential loop-around if there's bogus internal Map data. --- js/src/vm/StructuredClone.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/js/src/vm/StructuredClone.cpp b/js/src/vm/StructuredClone.cpp index 25e9e93b3b..79f2d23d96 100644 --- a/js/src/vm/StructuredClone.cpp +++ b/js/src/vm/StructuredClone.cpp @@ -1700,6 +1700,8 @@ JSStructuredCloneWriter::write(HandleValue v) return false; if (cls == ESClass::Map) { + if (!counts.back()) + return false; counts.back()--; RootedValue val(context(), entries.back()); entries.popBack();