From 0e7aa8c13ce9c1add23e45de1fef14d67a5cb9c6 Mon Sep 17 00:00:00 2001 From: Alexandre Vassalotti Date: Fri, 3 Apr 2009 04:17:41 +0000 Subject: [PATCH] Update a comment about why the __module__ can sometime be NULL. Initialize last_string and arg member of Unpickler. --- Modules/_pickle.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Modules/_pickle.c b/Modules/_pickle.c index 4976cc5d5c..bda8efdf04 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -691,9 +691,9 @@ whichmodule(PyObject *global, PyObject *global_name) module_name = PyObject_GetAttr(global, module_str); - /* In some rare cases (e.g., random.getrandbits), __module__ can be - None. If it is so, then search sys.modules for the module of - global. */ + /* In some rare cases (e.g., bound methods of extension types), + __module__ can be None. If it is so, then search sys.modules + for the module of global. */ if (module_name == Py_None) { Py_DECREF(module_name); goto search; @@ -4447,6 +4447,9 @@ Unpickler_init(UnpicklerObject *self, PyObject *args, PyObject *kwds) if (self->memo == NULL) return -1; + self->last_string = NULL; + self->arg = NULL; + return 0; } -- 2.50.0