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);