summaryrefslogtreecommitdiff
path: root/gpspacket.c
diff options
context:
space:
mode:
authorKurt Schwehr <schwehr@google.com>2017-05-30 12:42:36 -0700
committerFred Wright <fw@fwright.net>2017-07-18 14:34:03 -0700
commit41d6fa9fb4e4665b4afbbd851eee188d596084ea (patch)
treefedc5ca707b6edbe3ed383235890df37fcf2bc84 /gpspacket.c
parent795908afe3435d3095bb9ceb81c8b35fd1e22805 (diff)
downloadgpsd-41d6fa9fb4e4665b4afbbd851eee188d596084ea.tar.gz
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. Signed-off-by: Fred Wright <fw@fwright.net> TESTED: Verified that gpscat still works. - fw
Diffstat (limited to 'gpspacket.c')
-rw-r--r--gpspacket.c3
1 files changed, 2 insertions, 1 deletions
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);
}