From 158b8967e17c0bf387518e3e423be19f17ca33db Mon Sep 17 00:00:00 2001 From: June Kim Date: Mon, 11 May 2026 22:41:58 -0700 Subject: [PATCH] fix: check for EOF instead of truthiness in tag close handling Tokenizer_read returns TOKENIZER_EOF for end-of-input, not a falsy value. The old truthiness check let NUL bytes truncate parsing. --- src/mwparserfromhell/parser/ctokenizer/tok_parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mwparserfromhell/parser/ctokenizer/tok_parse.c b/src/mwparserfromhell/parser/ctokenizer/tok_parse.c index 04d252a..c8f7c0e 100644 --- a/src/mwparserfromhell/parser/ctokenizer/tok_parse.c +++ b/src/mwparserfromhell/parser/ctokenizer/tok_parse.c @@ -2988,7 +2988,7 @@ Tokenizer_parse(Tokenizer *self, uint64_t context, int push) } else if (Tokenizer_emit_char(self, this)) { return NULL; } - } else if (this == '<' && next == '/' && Tokenizer_read(self, 2)) { + } else if (this == '<' && next == '/' && Tokenizer_read(self, 2) != TOKENIZER_EOF) { if (this_context & LC_TAG_BODY ? Tokenizer_handle_tag_open_close(self) : Tokenizer_handle_invalid_tag_start(self)) { return NULL;