telepathy-rakia: Fix memory leaks found by valgrind
Olivier Crête
tester at kemper.freedesktop.org
Tue May 8 10:03:01 PDT 2012
Module: telepathy-rakia
Branch: master
Commit: 65707a304bb55a546d79be737d9145cd4b891da9
URL: http://cgit.freedesktop.org/telepathy/telepathy-rakia/commit/?id=65707a304bb55a546d79be737d9145cd4b891da9
Author: Olivier Crête <olivier.crete at collabora.com>
Date: Fri Feb 24 20:34:50 2012 -0500
Fix memory leaks found by valgrind
---
rakia/call-channel.c | 6 ++++--
rakia/call-stream.c | 3 ++-
rakia/sip-session.c | 16 ++++++++++++++++
3 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/rakia/call-channel.c b/rakia/call-channel.c
index 080427f..89b4887 100644
--- a/rakia/call-channel.c
+++ b/rakia/call-channel.c
@@ -245,13 +245,15 @@ rakia_call_channel_constructed (GObject *obj)
for (i = 0; i < medias->len; i++)
{
RakiaSipMedia *media = g_ptr_array_index (medias, i);
+ gchar *name;
+
if (media)
{
- const gchar *name = g_strdup_printf ("initial_%s_%u",
+ name = g_strdup_printf ("initial_%s_%u",
sip_media_get_media_type_str (media), i + 1);
-
new_content (self, name, media,
TP_CALL_CONTENT_DISPOSITION_INITIAL);
+ g_free (name);
}
}
diff --git a/rakia/call-stream.c b/rakia/call-stream.c
index 000d1c0..4c4a343 100644
--- a/rakia/call-stream.c
+++ b/rakia/call-stream.c
@@ -192,8 +192,8 @@ rakia_call_stream_constructed (GObject *object)
G_TYPE_STRING, stun_server,
G_TYPE_UINT, stun_port,
G_TYPE_INVALID));
- g_free (stun_server);
}
+ g_free (stun_server);
tp_base_media_call_stream_set_stun_servers (bmcs, stun_array);
g_ptr_array_unref (stun_array);
@@ -449,6 +449,7 @@ media_remote_candidates_updated_cb (RakiaSipMedia *media, RakiaCallStream *self)
tp_call_stream_endpoint_add_new_candidate (priv->endpoint,
candidate->component, candidate->ip, candidate->port, info);
+ g_hash_table_unref (info);
}
tp_base_media_call_stream_add_endpoint (bmcs, priv->endpoint);
diff --git a/rakia/sip-session.c b/rakia/sip-session.c
index b52abd0..aeb1506 100644
--- a/rakia/sip-session.c
+++ b/rakia/sip-session.c
@@ -390,6 +390,22 @@ rakia_sip_session_dispose (GObject *object)
tp_clear_object (&self->priv->conn);
+ if (self->priv->remote_sdp != NULL)
+ {
+ self->priv->remote_sdp = NULL;
+ g_assert (self->priv->home != NULL);
+ su_home_unref (self->priv->home);
+ self->priv->home = NULL;
+ }
+
+ if (self->priv->backup_remote_sdp != NULL)
+ {
+ self->priv->backup_remote_sdp = NULL;
+ g_assert (self->priv->backup_home != NULL);
+ su_home_unref (self->priv->backup_home);
+ self->priv->backup_home = NULL;
+ }
+
if (G_OBJECT_CLASS (rakia_sip_session_parent_class)->dispose)
G_OBJECT_CLASS (rakia_sip_session_parent_class)->dispose (object);
More information about the telepathy-commits
mailing list