Fix bug #
1512695: cPickle.loads could crash if it was interrupted with
a KeyboardInterrupt since PyTuple_Pack was passed a NULL.
Extension Modules
-----------------
+- Bug #1512695: cPickle.loads could crash if it was interrupted with
+ a KeyboardInterrupt.
+
- Change binascii.hexlify() to accept any read-only buffer and not just a char
buffer.
err:
{
- PyObject *tp, *v, *tb;
+ PyObject *tp, *v, *tb, *tmp_value;
PyErr_Fetch(&tp, &v, &tb);
- if ((r=PyTuple_Pack(3,v,cls,args))) {
+ tmp_value = v;
+ /* NULL occurs when there was a KeyboardInterrupt */
+ if (tmp_value == NULL)
+ tmp_value = Py_None;
+ if ((r = PyTuple_Pack(3, tmp_value, cls, args))) {
Py_XDECREF(v);
v=r;
}