diff options
| author | Pablo Galindo <Pablogsal@gmail.com> | 2021-03-30 00:24:49 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-30 00:24:49 +0100 |
| commit | 92a02c1f7e2dcdc62913a4236589e7e5d96172b9 (patch) | |
| tree | 32c192413440c0610c62d72fe12647a6c05ec4c2 /Parser | |
| parent | 09b90a037d18f5d4acdf1b14082e57bda78e85d3 (diff) | |
| download | cpython-git-92a02c1f7e2dcdc62913a4236589e7e5d96172b9.tar.gz | |
Fix tokenizer error when raw decoding null bytes (GH-25080)
Diffstat (limited to 'Parser')
| -rw-r--r-- | Parser/tokenizer.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index d18fffaf3d..ad32293d70 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; |
