diff --git a/python/msgpack/_msgpack.pyx b/python/msgpack/_msgpack.pyx index fb7f0c1e..24e4f8b9 100644 --- a/python/msgpack/_msgpack.pyx +++ b/python/msgpack/_msgpack.pyx @@ -202,12 +202,8 @@ def unpackb(bytes packed_bytes, object object_hook=None): if object_hook is not None: if not PyCallable_Check(object_hook): raise TypeError("object_hook must be a callable.") - Py_INCREF(object_hook) ctx.user.object_hook = object_hook ret = template_execute(&ctx, p, len(packed_bytes), &off) - if object_hook is not None: - pass - #Py_DECREF(object_hook) if ret == 1: return template_data(&ctx) else: diff --git a/python/msgpack/unpack.h b/python/msgpack/unpack.h index e4c03bdd..404ee5ad 100644 --- a/python/msgpack/unpack.h +++ b/python/msgpack/unpack.h @@ -178,7 +178,6 @@ int template_callback_map_end(unpack_user* u, msgpack_unpack_object* c) { if (u->object_hook) { PyObject *arglist = Py_BuildValue("(O)", *c); - Py_INCREF(*c); *c = PyEval_CallObject(u->object_hook, arglist); Py_DECREF(arglist); return 0;