Commit 898318b5 authored by Markus Mohrhard's avatar Markus Mohrhard Committed by Antoine Pitrou

bpo-37502: handle default parameter for buffers argument of pickle.loads correctly (GH-14593)

parent 93e8aa62
......@@ -2765,6 +2765,11 @@ class AbstractPickleTests(unittest.TestCase):
with self.assertRaises(pickle.UnpicklingError):
self.loads(data, buffers=[])
def test_inband_accept_default_buffers_argument(self):
for proto in range(5, pickle.HIGHEST_PROTOCOL + 1):
data_pickled = self.dumps(1, proto, buffer_callback=None)
data = self.loads(data_pickled, buffers=None)
@unittest.skipIf(np is None, "Test needs Numpy")
def test_buffers_numpy(self):
def check_no_copy(x, y):
......
pickle.loads() no longer raises TypeError when the buffers argument is set to None
......@@ -1653,7 +1653,7 @@ _Unpickler_SetInputEncoding(UnpicklerObject *self,
static int
_Unpickler_SetBuffers(UnpicklerObject *self, PyObject *buffers)
{
if (buffers == NULL) {
if (buffers == NULL || buffers == Py_None) {
self->buffers = NULL;
}
else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment