Mercurial > pidgin
diff libpurple/media.c @ 23852:a1a1f44cdecc
Fixed some memory leak issues involving GLists.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Fri, 11 Jul 2008 02:10:04 +0000 |
parents | 86f05fa8a90a |
children | 1c68f78414b7 |
line wrap: on
line diff
--- a/libpurple/media.c Fri Jul 11 01:35:54 2008 +0000 +++ b/libpurple/media.c Fri Jul 11 02:10:04 2008 +0000 @@ -337,12 +337,11 @@ GList *values = g_hash_table_get_values(media->priv->sessions); PurpleMediaStreamType type = PURPLE_MEDIA_NONE; - for (; values; values = values->next) { + for (; values; values = g_list_delete_link(values, values)) { PurpleMediaSession *session = values->data; type |= session->type; } - g_list_free(values); return type; } @@ -458,7 +457,7 @@ { GList *values = g_hash_table_get_values(media->priv->sessions); - for (; values; values = values->next) { + for (; values; values = g_list_delete_link(values, values)) { PurpleMediaSession *session = (PurpleMediaSession*)values->data; if (session->type & PURPLE_MEDIA_SEND_AUDIO && audio_src) @@ -470,8 +469,6 @@ if (session->type & PURPLE_MEDIA_RECV_VIDEO && video_sink) *video_sink = session->sink; } - - g_list_free(values); } void