From c8fc380647f44c4e0c32145f9d22946130eb2be8 Mon Sep 17 00:00:00 2001 From: George Xie Date: Mon, 17 Jun 2019 09:44:30 +0800 Subject: [PATCH] fix bound method __reduce__ bug --- Objects/classobject.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/Objects/classobject.c b/Objects/classobject.c index f45d6ae809..1a4b739c0b 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -77,15 +77,8 @@ method_reduce(PyMethodObject *im) { PyObject *self = PyMethod_GET_SELF(im); PyObject *func = PyMethod_GET_FUNCTION(im); - PyObject *funcname; - _Py_IDENTIFIER(getattr); - - funcname = _PyObject_GetAttrId(func, &PyId___name__); - if (funcname == NULL) { - return NULL; - } - return Py_BuildValue("N(ON)", _PyEval_GetBuiltinId(&PyId_getattr), - self, funcname); + PyObject *get = PyObject_GetAttrString(func,(char*)"__get__"); + return Py_BuildValue("O(O)", get, self); } static PyMethodDef method_methods[] = { -- 2.17.1