fix for part of bug #453523: disable unmarshalling of code objects in
restricted execution mode.
diff --git a/Python/marshal.c b/Python/marshal.c
index 029f2b9..944ae35 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -569,7 +569,13 @@
return v;
case TYPE_CODE:
- {
+ if (PyEval_GetRestricted()) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "cannot unmarshal code objects in "
+ "restricted execution mode");
+ return NULL;
+ }
+ else {
int argcount = r_short(p);
int nlocals = r_short(p);
int stacksize = r_short(p);