From 0b2d3508dc1b19f6a060f56feab4a9055b6c666d Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Sat, 9 Feb 2013 11:50:39 +0100 Subject: [PATCH] clean up exec() code a little --- Cython/Utility/Builtins.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cython/Utility/Builtins.c b/Cython/Utility/Builtins.c index 7863a18..4d21c83 100644 --- a/Cython/Utility/Builtins.c +++ b/Cython/Utility/Builtins.c @@ -103,17 +103,17 @@ static PyObject* __Pyx_PyExec3(PyObject* o, PyObject* globals, PyObject* locals) if (!globals) goto bad; } else if (!PyDict_Check(globals)) { - PyErr_Format(PyExc_TypeError, "exec() arg 2 must be a dict, not %.100s", - globals->ob_type->tp_name); + PyErr_Format(PyExc_TypeError, "exec() arg 2 must be a dict, not %.200s", + Py_TYPE(globals)->tp_name); goto bad; } if (!locals || locals == Py_None) { locals = globals; } - if (PyDict_GetItemString(globals, "__builtins__") == NULL) { - PyDict_SetItemString(globals, "__builtins__", PyEval_GetBuiltins()); + if (PyDict_SetItemString(globals, "__builtins__", PyEval_GetBuiltins()) < 0) + goto bad; } if (PyCode_Check(o)) { -- 2.7.4