Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Python: Checkins

r76499 - in python/trunk: Lib/test/pickletester.py Modules/cPickle.c

 

 

Python checkins RSS feed   Index | Next | Previous | View Threaded


python-checkins at python

Nov 24, 2009, 10:20 AM

Post #1 of 1 (136 views)
Permalink
r76499 - in python/trunk: Lib/test/pickletester.py Modules/cPickle.c

Author: alexandre.vassalotti
Date: Tue Nov 24 18:53:23 2009
New Revision: 76499

Log:
Issue 7128: Removed reference to the non-existent copyreg module.

The reference to copyreg was a unnoticed leftover from the compatibility
support for the grand renaming of the standard library in Python 3. The
compatibility support was reverted in r63493, but not completely as this
patch shows.

Based on a patch by Amaury Forgeot d'Arc.


Modified:
python/trunk/Lib/test/pickletester.py
python/trunk/Modules/cPickle.c

Modified: python/trunk/Lib/test/pickletester.py
==============================================================================
--- python/trunk/Lib/test/pickletester.py (original)
+++ python/trunk/Lib/test/pickletester.py Tue Nov 24 18:53:23 2009
@@ -1091,6 +1091,16 @@
s = StringIO.StringIO("X''.")
self.assertRaises(EOFError, self.module.load, s)

+ def test_restricted(self):
+ # issue7128: cPickle failed in restricted mode
+ builtins = {self.module.__name__: self.module,
+ '__import__': __import__}
+ d = {}
+ teststr = "def f(): {0}.dumps(0)".format(self.module.__name__)
+ exec teststr in {'__builtins__': builtins}, d
+ d['f']()
+
+
class AbstractPersistentPicklerTests(unittest.TestCase):

# This class defines persistent_id() and persistent_load()

Modified: python/trunk/Modules/cPickle.c
==============================================================================
--- python/trunk/Modules/cPickle.c (original)
+++ python/trunk/Modules/cPickle.c Tue Nov 24 18:53:23 2009
@@ -132,7 +132,7 @@
*__reduce_ex___str,
*write_str, *append_str,
*read_str, *readline_str, *__main___str,
- *copyreg_str, *dispatch_table_str;
+ *dispatch_table_str;

/*************************************************************************
Internal Data type for pickle data. */
@@ -3069,7 +3069,7 @@

if (PyEval_GetRestricted()) {
/* Restricted execution, get private tables */
- PyObject *m = PyImport_Import(copyreg_str);
+ PyObject *m = PyImport_ImportModule("copy_reg");

if (m == NULL)
goto err;
@@ -5852,7 +5852,6 @@
INIT_STR(append);
INIT_STR(read);
INIT_STR(readline);
- INIT_STR(copyreg);
INIT_STR(dispatch_table);

if (!( copyreg = PyImport_ImportModule("copy_reg")))
_______________________________________________
Python-checkins mailing list
Python-checkins [at] python
http://mail.python.org/mailman/listinfo/python-checkins

Python checkins RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.