From 9c2dac77772a7eff83a0516e828dd6b546a36f56 Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Wed, 13 Jan 2016 21:57:25 +0000 Subject: [PATCH] Memory leaks are bad --- pyduktape.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyduktape.c b/pyduktape.c index db13b0e..99a2dc2 100644 --- a/pyduktape.c +++ b/pyduktape.c @@ -178,13 +178,14 @@ static void dukpy_function_destructor(PyObject* pyfunc) { duk_del_prop_string(dpf->ctx, -1, dpf->name); // [... gstash] duk_get_prop_string(dpf->ctx, -1, "pydukPyCTX"); // [... gstash pyctx] PyObject* pyctx = (PyObject*)duk_require_pointer(dpf->ctx, -1); // [... gstash pyctx] - Py_XINCREF(pyctx); duk_pop(dpf->ctx); // [... gstash] duk_pop(dpf->ctx); // [...] free((void*)dpf->name); dpf->name = NULL; free((void*)dpf); + + Py_XDECREF(pyctx); } static PyObject* dukpy_pyobj_from_stack(duk_context *ctx, int pos, PyObject* seen, int hasWrapper, int wrapperPos) {