Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
Co-authored-by: Ćukasz Langa <lukasz@langa.pl>
!/Python/
# Artifacts generated by 3.11 lying around when switching branches:
+/_bootstrap_python
/Programs/_freeze_module
+/Python/deepfreeze/
/Python/frozen_modules/
\ No newline at end of file
--- /dev/null
+Fix a segfault when the parser fails without reading any input. Patch by
+Pablo Galindo
void *
_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, errmsg, va);
+ va_end(va);
+ return NULL;
+ }
+
Token *t = p->known_err_token != NULL ? p->known_err_token : p->tokens[p->fill - 1];
Py_ssize_t col_offset;
if (t->col_offset == -1) {