Skip to content

Commit 1221e8c

Browse files
gh-95876: Fix format string in pegen error location code (GH-95877)
(cherry picked from commit b4c857d) Co-authored-by: Christian Heimes <christian@python.org>
1 parent 209f2a7 commit 1221e8c

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Fix format string in ``_PyPegen_raise_error_known_location`` that can lead
2+
to memory corruption on some 64bit systems. The function was building a
3+
tuple with ``i`` (int) instead of ``n`` (Py_ssize_t) for Py_ssize_t
4+
arguments.

Parser/pegen_errors.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ _PyPegen_raise_error_known_location(Parser *p, PyObject *errtype,
371371
}
372372
}
373373
}
374-
tmp = Py_BuildValue("(OiiNii)", p->tok->filename, lineno, col_number, error_line, end_lineno, end_col_number);
374+
tmp = Py_BuildValue("(OnnNnn)", p->tok->filename, lineno, col_number, error_line, end_lineno, end_col_number);
375375
if (!tmp) {
376376
goto error;
377377
}

0 commit comments

Comments
 (0)