From: Fred Drake Date: Fri, 11 Jul 2003 20:37:13 +0000 (+0000) Subject: Backport Jeremy's patch from the trunk (revision 2.147): X-Git-Tag: 2.2~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=68976378f7aed6be86a057211c5a7a5e7591aedb;p=thirdparty%2FPython%2Fcpython.git Backport Jeremy's patch from the trunk (revision 2.147): The Unpickler forget about its find_class attribute. Also make sure we visit and clear self->safe_constructors in the GC support. --- diff --git a/Modules/cPickle.c b/Modules/cPickle.c index 71bffb6dc53b..713d122616e5 100644 --- a/Modules/cPickle.c +++ b/Modules/cPickle.c @@ -4308,6 +4308,7 @@ Unpickler_dealloc(Unpicklerobject *self) { Py_XDECREF(self->pers_func); Py_XDECREF(self->arg); Py_XDECREF(self->last_string); + Py_XDECREF(self->find_class); Py_XDECREF(self->safe_constructors); if (self->marks) { @@ -4340,6 +4341,8 @@ Unpickler_traverse(Unpicklerobject *self, visitproc visit, void *arg) VISIT(self->pers_func); VISIT(self->arg); VISIT(self->last_string); + VISIT(self->find_class); + VISIT(self->safe_constructors); #undef VISIT return 0; } @@ -4356,6 +4359,8 @@ Unpickler_clear(Unpicklerobject *self) CLEAR(self->pers_func); CLEAR(self->arg); CLEAR(self->last_string); + CLEAR(self->find_class); + CLEAR(self->safe_constructors); #undef CLEAR return 0; }