summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-02-07 17:21:30 +0100
committerThomas Haller <thaller@redhat.com>2015-02-09 11:51:05 +0100
commit8cb6d70e5b91170c7b89ede53078025be959a9f2 (patch)
tree161b008fb085492676de24e4e5ece0aa7da95fd4
parent052198f4b92f7c218c29304f7d2de4f0150728fb (diff)
downloadNetworkManager-8cb6d70e5b91170c7b89ede53078025be959a9f2.tar.gz
libnm: fix memleak for config in NMSettingTeamPort
-rw-r--r--libnm-core/nm-setting-team-port.c12
-rw-r--r--libnm-util/nm-setting-team-port.c12
2 files changed, 24 insertions, 0 deletions
diff --git a/libnm-core/nm-setting-team-port.c b/libnm-core/nm-setting-team-port.c
index b5125753c3..7fbf8620f1 100644
--- a/libnm-core/nm-setting-team-port.c
+++ b/libnm-core/nm-setting-team-port.c
@@ -130,6 +130,7 @@ set_property (GObject *object, guint prop_id,
switch (prop_id) {
case PROP_CONFIG:
+ g_free (priv->config);
priv->config = g_value_dup_string (value);
break;
default:
@@ -155,6 +156,16 @@ get_property (GObject *object, guint prop_id,
}
static void
+finalize (GObject *object)
+{
+ NMSettingTeamPortPrivate *priv = NM_SETTING_TEAM_PORT_GET_PRIVATE (object);
+
+ g_free (priv->config);
+
+ G_OBJECT_CLASS (nm_setting_team_port_parent_class)->finalize (object);
+}
+
+static void
nm_setting_team_port_class_init (NMSettingTeamPortClass *setting_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (setting_class);
@@ -165,6 +176,7 @@ nm_setting_team_port_class_init (NMSettingTeamPortClass *setting_class)
/* virtual methods */
object_class->set_property = set_property;
object_class->get_property = get_property;
+ object_class->finalize = finalize;
parent_class->verify = verify;
/* Properties */
diff --git a/libnm-util/nm-setting-team-port.c b/libnm-util/nm-setting-team-port.c
index 6bc71c981d..9992f58a28 100644
--- a/libnm-util/nm-setting-team-port.c
+++ b/libnm-util/nm-setting-team-port.c
@@ -130,6 +130,7 @@ set_property (GObject *object, guint prop_id,
switch (prop_id) {
case PROP_CONFIG:
+ g_free (priv->config);
priv->config = g_value_dup_string (value);
break;
default:
@@ -155,6 +156,16 @@ get_property (GObject *object, guint prop_id,
}
static void
+finalize (GObject *object)
+{
+ NMSettingTeamPortPrivate *priv = NM_SETTING_TEAM_PORT_GET_PRIVATE (object);
+
+ g_free (priv->config);
+
+ G_OBJECT_CLASS (nm_setting_team_port_parent_class)->finalize (object);
+}
+
+static void
nm_setting_team_port_class_init (NMSettingTeamPortClass *setting_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (setting_class);
@@ -165,6 +176,7 @@ nm_setting_team_port_class_init (NMSettingTeamPortClass *setting_class)
/* virtual methods */
object_class->set_property = set_property;
object_class->get_property = get_property;
+ object_class->finalize = finalize;
parent_class->verify = verify;
/* Properties */