diff options
author | Thomas Haller <thaller@redhat.com> | 2015-08-12 11:06:47 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-08-12 11:10:05 +0200 |
commit | 514059aa620b34e084367a8866852b106aee0e0a (patch) | |
tree | a618f0f124d24d88342c6b5d25718b1f87c749c8 | |
parent | c699f8c32e54b8f8d518c65f3fc9237ca2f16a97 (diff) | |
download | NetworkManager-514059aa620b34e084367a8866852b106aee0e0a.tar.gz |
core: fix memleak in nm_exported_object_class_add_interface()
Fixes: 073991f5a8271a1e7367ec330fc7c8cf54522ffb
-rw-r--r-- | src/nm-exported-object.c | 9 |
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); |