diff options
author | Thomas Haller <thaller@redhat.com> | 2015-02-07 17:21:30 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-02-09 11:51:05 +0100 |
commit | 8cb6d70e5b91170c7b89ede53078025be959a9f2 (patch) | |
tree | 161b008fb085492676de24e4e5ece0aa7da95fd4 | |
parent | 052198f4b92f7c218c29304f7d2de4f0150728fb (diff) | |
download | NetworkManager-8cb6d70e5b91170c7b89ede53078025be959a9f2.tar.gz |
libnm: fix memleak for config in NMSettingTeamPort
-rw-r--r-- | libnm-core/nm-setting-team-port.c | 12 | ||||
-rw-r--r-- | libnm-util/nm-setting-team-port.c | 12 |
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 */ |