summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-08-12 11:06:47 +0200
committerThomas Haller <thaller@redhat.com>2015-08-12 11:10:05 +0200
commit514059aa620b34e084367a8866852b106aee0e0a (patch)
treea618f0f124d24d88342c6b5d25718b1f87c749c8
parentc699f8c32e54b8f8d518c65f3fc9237ca2f16a97 (diff)
downloadNetworkManager-514059aa620b34e084367a8866852b106aee0e0a.tar.gz
core: fix memleak in nm_exported_object_class_add_interface()
Fixes: 073991f5a8271a1e7367ec330fc7c8cf54522ffb
-rw-r--r--src/nm-exported-object.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nm-exported-object.c b/src/nm-exported-object.c
index 83aecaca27..5261f2dd54 100644
--- a/src/nm-exported-object.c
+++ b/src/nm-exported-object.c
@@ -221,14 +221,15 @@ nm_exported_object_class_add_interface (NMExportedObjectClass *object_class,
va_list ap;
const char *method_name;
GCallback impl;
- GType *interfaces;
+ gs_free GType *interfaces = NULL;
guint n_interfaces;
- guint *dbus_signals, n_signals, n_method_signals;
+ guint n_signals, n_method_signals;
guint object_signal_id;
GSignalQuery query;
int i, s;
GObjectClass *dbus_object_class;
- GParamSpec **dbus_properties, *object_property;
+ gs_free GParamSpec **dbus_properties = NULL;
+ GParamSpec *object_property;
guint n_dbus_properties;
g_return_if_fail (NM_IS_EXPORTED_OBJECT_CLASS (object_class));
@@ -294,6 +295,8 @@ nm_exported_object_class_add_interface (NMExportedObjectClass *object_class,
interfaces = g_type_interfaces (dbus_skeleton_type, &n_interfaces);
n_method_signals = 0;
for (i = 0; i < n_interfaces; i++) {
+ gs_free guint *dbus_signals = NULL;
+
dbus_signals = g_signal_list_ids (interfaces[i], &n_signals);
for (s = 0; s < n_signals; s++) {
g_signal_query (dbus_signals[s], &query);