Commit 35d00d30 authored by Victor Stinner's avatar Victor Stinner

Issue #19512: eval() and exec() now use an identifier for "__builtins__" string

parent 14db1b4a
......@@ -34,6 +34,7 @@ int Py_HasFileSystemDefaultEncoding = 0;
_Py_IDENTIFIER(fileno);
_Py_IDENTIFIER(flush);
_Py_IDENTIFIER(__builtins__);
static PyObject *
builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds)
......@@ -771,8 +772,8 @@ builtin_eval(PyObject *self, PyObject *args)
return NULL;
}
if (PyDict_GetItemString(globals, "__builtins__") == NULL) {
if (PyDict_SetItemString(globals, "__builtins__",
if (_PyDict_GetItemId(globals, &PyId___builtins__) == NULL) {
if (_PyDict_SetItemId(globals, &PyId___builtins__,
PyEval_GetBuiltins()) != 0)
return NULL;
}
......@@ -846,8 +847,8 @@ builtin_exec(PyObject *self, PyObject *args)
locals->ob_type->tp_name);
return NULL;
}
if (PyDict_GetItemString(globals, "__builtins__") == NULL) {
if (PyDict_SetItemString(globals, "__builtins__",
if (_PyDict_GetItemId(globals, &PyId___builtins__) == NULL) {
if (_PyDict_SetItemId(globals, &PyId___builtins__,
PyEval_GetBuiltins()) != 0)
return NULL;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment