mirror of https://github.com/python/cpython
Ensure the str member of the tokenizer is always initialised (GH-29681)
This commit is contained in:
parent
4cf65240ae
commit
4f006a789a
|
@ -245,7 +245,7 @@ get_error_line_from_tokenizer_buffers(Parser *p, Py_ssize_t lineno)
|
||||||
* (multi-line) statement are stored in p->tok->interactive_src_start.
|
* (multi-line) statement are stored in p->tok->interactive_src_start.
|
||||||
* If not, we're parsing from a string, which means that the whole source
|
* If not, we're parsing from a string, which means that the whole source
|
||||||
* is stored in p->tok->str. */
|
* is stored in p->tok->str. */
|
||||||
assert(p->tok->fp == NULL || p->tok->fp == stdin);
|
assert((p->tok->fp == NULL && p->tok->str != NULL) || p->tok->fp == stdin);
|
||||||
|
|
||||||
char *cur_line = p->tok->fp_interactive ? p->tok->interactive_src_start : p->tok->str;
|
char *cur_line = p->tok->fp_interactive ? p->tok->interactive_src_start : p->tok->str;
|
||||||
assert(cur_line != NULL);
|
assert(cur_line != NULL);
|
||||||
|
|
|
@ -87,7 +87,7 @@ tok_new(void)
|
||||||
tok->async_def_indent = 0;
|
tok->async_def_indent = 0;
|
||||||
tok->async_def_nl = 0;
|
tok->async_def_nl = 0;
|
||||||
tok->interactive_underflow = IUNDERFLOW_NORMAL;
|
tok->interactive_underflow = IUNDERFLOW_NORMAL;
|
||||||
|
tok->str = NULL;
|
||||||
return tok;
|
return tok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ struct tok_state {
|
||||||
PyObject *decoding_readline; /* open(...).readline */
|
PyObject *decoding_readline; /* open(...).readline */
|
||||||
PyObject *decoding_buffer;
|
PyObject *decoding_buffer;
|
||||||
const char* enc; /* Encoding for the current str. */
|
const char* enc; /* Encoding for the current str. */
|
||||||
char* str;
|
char* str; /* Source string being tokenized (if tokenizing from a string)*/
|
||||||
char* input; /* Tokenizer's newline translated copy of the string. */
|
char* input; /* Tokenizer's newline translated copy of the string. */
|
||||||
|
|
||||||
int type_comments; /* Whether to look for type comments */
|
int type_comments; /* Whether to look for type comments */
|
||||||
|
|
Loading…
Reference in New Issue