From 0e5b95a8f4bf60e5cb805d25d9d202af80145734 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sat, 25 Apr 2020 13:54:16 +0100 Subject: [PATCH] algorithms.c (gprp_pynew): Don't double-bump the new object's refcount. --- algorithms.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/algorithms.c b/algorithms.c index de8fcd6..ead615a 100644 --- a/algorithms.c +++ b/algorithms.c @@ -3999,17 +3999,16 @@ static PyObject *gprp_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw) static const char *const kwlist[] = { "key", 0 }; struct bin k; const prpinfo *prp = GCPRP_PRP(ty); - PyObject *me; + PyObject *rc = 0; if (!PyArg_ParseTupleAndKeywords(arg, kw, "O&:new", KWLIST, convbin, &k)) goto end; if (keysz(k.sz, prp->keysz) != k.sz) VALERR("bad key length"); - me = (PyObject *)ty->tp_alloc(ty, 0); + rc = (PyObject *)ty->tp_alloc(ty, 0); GPRP_PRP(me) = prp; prp->init(GPRP_CTX(me), k.p, k.sz); - RETURN_ME; end: - return (0); + return (rc); } static void gprp_pydealloc(PyObject *me) -- 2.11.0