From 2a9631137340c47e324d7d1d7f22242c37620c9a Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Mon, 1 Jun 2026 22:10:52 +0800 Subject: [PATCH] Protect against re-entrant stream parsing This specifically fixes a crash on WPT: /html/syntax/parsing/html5lib_scripted_webkit01.html?run_type=write Claude wrote a simple reproducing unit test, and you can see it's a document.write that calls document.write. --- src/browser/parser/Parser.zig | 43 ++++++++++++++++ .../reentrant_document_write.html | 50 +++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 src/browser/tests/custom_elements/reentrant_document_write.html diff --git a/src/browser/parser/Parser.zig b/src/browser/parser/Parser.zig index 65d66e4a..d83018ad 100644 --- a/src/browser/parser/Parser.zig +++ b/src/browser/parser/Parser.zig @@ -290,6 +290,17 @@ pub const Streaming = struct { parser: Parser, handle: ?*anyopaque, + // True while html5ever is inside a feed/finish call. A + + + + + +