mirror of
https://github.com/python/cpython.git
synced 2025-11-08 13:42:22 +00:00
bpo-45820: Fix a segfault when the parser fails without reading any input (GH-29580)
This commit is contained in:
parent
9d6215a54c
commit
df4ae55e66
2 changed files with 10 additions and 0 deletions
|
|
@ -0,0 +1,2 @@
|
||||||
|
Fix a segfault when the parser fails without reading any input. Patch by
|
||||||
|
Pablo Galindo
|
||||||
|
|
@ -368,6 +368,14 @@ tokenizer_error(Parser *p)
|
||||||
void *
|
void *
|
||||||
_PyPegen_raise_error(Parser *p, PyObject *errtype, const char *errmsg, ...)
|
_PyPegen_raise_error(Parser *p, PyObject *errtype, const char *errmsg, ...)
|
||||||
{
|
{
|
||||||
|
if (p->fill == 0) {
|
||||||
|
va_list va;
|
||||||
|
va_start(va, errmsg);
|
||||||
|
_PyPegen_raise_error_known_location(p, errtype, 0, 0, 0, -1, errmsg, va);
|
||||||
|
va_end(va);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
Token *t = p->known_err_token != NULL ? p->known_err_token : p->tokens[p->fill - 1];
|
Token *t = p->known_err_token != NULL ? p->known_err_token : p->tokens[p->fill - 1];
|
||||||
Py_ssize_t col_offset;
|
Py_ssize_t col_offset;
|
||||||
Py_ssize_t end_col_offset = -1;
|
Py_ssize_t end_col_offset = -1;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue