[Telepathy-commits] [telepathy-gabble/master] GabbleMediaFactory: fix a double free in _dispose
Alban Crequy
alban.crequy at collabora.co.uk
Thu Nov 27 10:57:07 PST 2008
---
src/media-factory.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/media-factory.c b/src/media-factory.c
index d3da347..26b5c35 100644
--- a/src/media-factory.c
+++ b/src/media-factory.c
@@ -122,11 +122,15 @@ gabble_media_factory_dispose (GObject *object)
gabble_media_factory_close_all (fac);
g_assert (priv->channels == NULL);
+ /* Use a temporary variable because we don't want
+ * media_channel_closed_cb to remove the channel from the hash table a
+ * second time */
if (priv->session_chans)
{
- g_assert (g_hash_table_size (priv->session_chans) == 0);
- g_hash_table_destroy (priv->session_chans);
+ GHashTable *tmp = priv->session_chans;
priv->session_chans = NULL;
+ g_assert (g_hash_table_size (tmp) == 0);
+ g_hash_table_destroy (tmp);
}
g_free (priv->stun_server);
--
1.5.6.5
More information about the Telepathy-commits
mailing list