diff options
Diffstat (limited to 'Python')
-rw-r--r-- | Python/ceval.c | 7 | ||||
-rw-r--r-- | Python/marshal.c | 12 | ||||
-rw-r--r-- | Python/structmember.c | 10 |
3 files changed, 4 insertions, 25 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index 73e7ea9..3bb2178 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -3367,13 +3367,6 @@ PyEval_GetFrame(void) } int -PyEval_GetRestricted(void) -{ - PyFrameObject *current_frame = PyEval_GetFrame(); - return current_frame == NULL ? 0 : PyFrame_IsRestricted(current_frame); -} - -int PyEval_MergeCompilerFlags(PyCompilerFlags *cf) { PyFrameObject *current_frame = PyEval_GetFrame(); diff --git a/Python/marshal.c b/Python/marshal.c index 72253ea..d00ac8d 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -798,13 +798,7 @@ r_object(RFILE *p) return v3; case TYPE_CODE: - if (PyEval_GetRestricted()) { - PyErr_SetString(PyExc_RuntimeError, - "cannot unmarshal code objects in " - "restricted execution mode"); - return NULL; - } - else { + { int argcount; int kwonlyargcount; int nlocals; @@ -823,7 +817,7 @@ r_object(RFILE *p) v = NULL; - /* XXX ignore long->int overflows for now */ + /* XXX ignore long->int overflows for now */ argcount = (int)r_long(p); kwonlyargcount = (int)r_long(p); nlocals = (int)r_long(p); @@ -876,8 +870,8 @@ r_object(RFILE *p) Py_XDECREF(name); Py_XDECREF(lnotab); + return v; } - return v; default: /* Bogus data got written, which isn't ideal. diff --git a/Python/structmember.c b/Python/structmember.c index 87c1641..b6cf2ac 100644 --- a/Python/structmember.c +++ b/Python/structmember.c @@ -54,11 +54,7 @@ PyObject * PyMember_GetOne(const char *addr, PyMemberDef *l) { PyObject *v; - if ((l->flags & READ_RESTRICTED) && - PyEval_GetRestricted()) { - PyErr_SetString(PyExc_RuntimeError, "restricted attribute"); - return NULL; - } + addr += l->offset; switch (l->type) { case T_BYTE: @@ -167,10 +163,6 @@ PyMember_SetOne(char *addr, PyMemberDef *l, PyObject *v) PyErr_SetString(PyExc_AttributeError, "readonly attribute"); return -1; } - if ((l->flags & WRITE_RESTRICTED) && PyEval_GetRestricted()) { - PyErr_SetString(PyExc_RuntimeError, "restricted attribute"); - return -1; - } if (v == NULL && l->type != T_OBJECT_EX && l->type != T_OBJECT) { PyErr_SetString(PyExc_TypeError, "can't delete numeric/char attribute"); |