diff options
Diffstat (limited to 'Parser')
-rw-r--r-- | Parser/asdl_c.py | 4 | ||||
-rw-r--r-- | Parser/parsetok.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index cb0e6d7..d84c1b1 100644 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -1201,6 +1201,10 @@ mod_ty PyAST_obj2mod_ex(PyObject* ast, PyArena* arena, int mode, int feature_ver char *req_name[] = {"Module", "Expression", "Interactive"}; int isinstance; + if (PySys_Audit("compile", "OO", ast, Py_None) < 0) { + return NULL; + } + req_type[0] = (PyObject*)Module_type; req_type[1] = (PyObject*)Expression_type; req_type[2] = (PyObject*)Interactive_type; diff --git a/Parser/parsetok.c b/Parser/parsetok.c index 55fd7f7..a5d7897 100644 --- a/Parser/parsetok.c +++ b/Parser/parsetok.c @@ -94,6 +94,11 @@ PyParser_ParseStringObject(const char *s, PyObject *filename, if (initerr(err_ret, filename) < 0) return NULL; + if (PySys_Audit("compile", "yO", s, err_ret->filename) < 0) { + err_ret->error = E_ERROR; + return NULL; + } + if (*flags & PyPARSE_IGNORE_COOKIE) tok = PyTokenizer_FromUTF8(s, exec_input); else @@ -165,6 +170,10 @@ PyParser_ParseFileObject(FILE *fp, PyObject *filename, if (initerr(err_ret, filename) < 0) return NULL; + if (PySys_Audit("compile", "OO", Py_None, err_ret->filename) < 0) { + return NULL; + } + if ((tok = PyTokenizer_FromFile(fp, enc, ps1, ps2)) == NULL) { err_ret->error = E_NOMEM; return NULL; |