From 92a02c1f7e2dcdc62913a4236589e7e5d96172b9 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Date: Tue, 30 Mar 2021 00:24:49 +0100 Subject: [PATCH] Fix tokenizer error when raw decoding null bytes (GH-25080) --- Parser/tokenizer.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index d18fffaf3db..ad32293d70b 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -813,6 +813,9 @@ tok_readline_raw(struct tok_state *tok) tok_concatenate_interactive_new_line(tok, line) == -1) { return 0; } + if (*tok->inp == '\0') { + return 0; + } tok->inp = strchr(tok->inp, '\0'); } while (tok->inp[-1] != '\n'); return 1; @@ -963,7 +966,7 @@ tok_underflow_file(struct tok_state *tok) { if (tok->lineno > 2) { tok->decoding_state = STATE_NORMAL; } - else if (!check_coding_spec(tok->cur, tok->end - tok->cur, + else if (!check_coding_spec(tok->cur, strlen(tok->cur), tok, fp_setreadl)) { return 0;