mirror of https://github.com/python/cpython
gh-112388: Fix an error that was causing the parser to try to overwrite tokenizer errors (#112410)
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
This commit is contained in:
parent
967f2a3052
commit
2c8b191742
|
@ -2349,6 +2349,7 @@ func(
|
||||||
|
|
||||||
def test_invisible_characters(self):
|
def test_invisible_characters(self):
|
||||||
self._check_error('print\x17("Hello")', "invalid non-printable character")
|
self._check_error('print\x17("Hello")', "invalid non-printable character")
|
||||||
|
self._check_error(b"with(0,,):\n\x01", "invalid non-printable character")
|
||||||
|
|
||||||
def test_match_call_does_not_raise_syntax_error(self):
|
def test_match_call_does_not_raise_syntax_error(self):
|
||||||
code = """
|
code = """
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Fix an error that was causing the parser to try to overwrite tokenizer
|
||||||
|
errors. Patch by pablo Galindo
|
|
@ -219,6 +219,10 @@ exit:
|
||||||
void *
|
void *
|
||||||
_PyPegen_raise_error(Parser *p, PyObject *errtype, int use_mark, const char *errmsg, ...)
|
_PyPegen_raise_error(Parser *p, PyObject *errtype, int use_mark, const char *errmsg, ...)
|
||||||
{
|
{
|
||||||
|
// Bail out if we already have an error set.
|
||||||
|
if (p->error_indicator && PyErr_Occurred()) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
if (p->fill == 0) {
|
if (p->fill == 0) {
|
||||||
va_list va;
|
va_list va;
|
||||||
va_start(va, errmsg);
|
va_start(va, errmsg);
|
||||||
|
|
Loading…
Reference in New Issue