From 96af8500901a7e43b438fb678594f0675038229f Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Tue, 30 May 2017 12:42:36 -0700 Subject: [PATCH] Fix ref-leak of PyObject_Call. Py_XDECREF is slightly safer than Py_DECREF (not NULL-safe). https://docs.python.org/3/extending/extending.html The return value is a brand new object, or it is an existing object whose reference count has been incremented. --- gpspacket.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gpspacket.c b/gpspacket.c index 58ec5db2..bbeefb12 100644 --- a/gpspacket.c +++ b/gpspacket.c @@ -53,7 +53,8 @@ void gpsd_log(const struct gpsd_errout_t *errout UNUSED, if (!args) return; - PyObject_Call(report_callback, args, NULL); + PyObject *result = PyObject_Call(report_callback, args, NULL); + Py_XDECREF(result); Py_DECREF(args); } -- 2.13.0.219.gdb65acc882-goog