From 65d27ef6cd80872733c2647f9bfe753fc0bda9ed Mon Sep 17 00:00:00 2001 From: zivenger Date: Wed, 10 Jun 2026 14:51:22 +0800 Subject: [PATCH] Fix double decref after failed PyList_SetItem in C tokenizer PyList_SetItem steals the item reference even on failure, so the error path must not call Py_DECREF on the same object. Co-authored-by: Cursor --- src/mwparserfromhell/parser/ctokenizer/tok_parse.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mwparserfromhell/parser/ctokenizer/tok_parse.c b/src/mwparserfromhell/parser/ctokenizer/tok_parse.c index f42add1..72c4bed 100644 --- a/src/mwparserfromhell/parser/ctokenizer/tok_parse.c +++ b/src/mwparserfromhell/parser/ctokenizer/tok_parse.c @@ -1753,7 +1753,6 @@ Tokenizer_handle_single_tag_end(Tokenizer *self) return NULL; } if (PyList_SetItem(self->topstack->stack, index, token)) { - Py_DECREF(token); return NULL; } return Tokenizer_pop(self);