summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>2005-01-22 17:45:46 +0000
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>2005-01-22 17:45:46 +0000
commit25b5666ce1385c98063cec56a102cb58e674322d (patch)
treec7e1091e2843b842e76237fcb230bc92430e3be7
parent13de8bddc251a512f04acaac12aa1c7d1b11e495 (diff)
downloadpygobject-25b5666ce1385c98063cec56a102cb58e674322d.tar.gz
pygobject-25b5666ce1385c98063cec56a102cb58e674322d.tar.xz
pygobject-25b5666ce1385c98063cec56a102cb58e674322d.zip
Bug 164441: leak in gobject.type_register(); patch by Mark McLoughlin
-rw-r--r--gobject/gobjectmodule.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
index 337b329..0f1ba8f 100644
--- a/gobject/gobjectmodule.c
+++ b/gobject/gobjectmodule.c
@@ -941,12 +941,15 @@ pyg_type_register(PyObject *self, PyObject *args)
class->tp_name,
name_serial > 1? name_serial_str : NULL,
NULL);
+ Py_DECREF(module);
} else {
if (module)
Py_DECREF(module);
else
PyErr_Clear();
- type_name = g_strdup(class->tp_name);
+ type_name = g_strconcat(class->tp_name,
+ name_serial > 1? name_serial_str : NULL,
+ NULL);
}
/* convert '.' in type name to '+', which isn't banned (grumble) */
for (i = 0; type_name[i] != '\0'; i++)