]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Backport Jeremy's patch from the trunk (revision 2.147):
authorFred Drake <fdrake@acm.org>
Fri, 11 Jul 2003 20:37:13 +0000 (20:37 +0000)
committerFred Drake <fdrake@acm.org>
Fri, 11 Jul 2003 20:37:13 +0000 (20:37 +0000)
The Unpickler forget about its find_class attribute.

Also make sure we visit and clear self->safe_constructors in the GC
support.

Modules/cPickle.c

index 71bffb6dc53b7fb3f31c65f6cf1c864345c47bb5..713d122616e560a59d33b08ed94f6be71ffe38ff 100644 (file)
@@ -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;
 }