diff options
author | Fabrice Bellet <fabrice@bellet.info> | 2019-11-10 17:47:33 +0100 |
---|---|---|
committer | Fabrice Bellet <fabrice@bellet.info> | 2019-11-10 17:47:33 +0100 |
commit | e27d4b29c2952a125914f1a02227e20b8b6347ce (patch) | |
tree | ca6eb07ee223548c3b3477fe87cd4ad62a8593ec | |
parent | 2325d774d2edc3dff6d87b56404b6a91f6bd5348 (diff) | |
download | pidgin-e27d4b29c2952a125914f1a02227e20b8b6347ce.tar.gz |
fix some other memory leaks
-rw-r--r-- | libpurple/media.c | 32 | ||||
-rw-r--r-- | libpurple/queuedoutputstream.c | 1 |
2 files changed, 13 insertions, 20 deletions
diff --git a/libpurple/media.c b/libpurple/media.c index 20dc8c55f3..612533008f 100644 --- a/libpurple/media.c +++ b/libpurple/media.c @@ -950,20 +950,16 @@ purple_media_candidate_pair_established_cb(PurpleMediaBackend *backend, PurpleMediaCandidate *c = iter->data; if (id == purple_media_candidate_get_component_id(c)) { g_object_unref(c); - stream->active_local_candidates = - g_list_delete_link(iter, iter); - stream->active_local_candidates = g_list_prepend( + stream->active_local_candidates = g_list_delete_link( stream->active_local_candidates, - purple_media_candidate_copy( - local_candidate)); + iter); break; } } - if (iter == NULL) - stream->active_local_candidates = g_list_prepend( - stream->active_local_candidates, - purple_media_candidate_copy( - local_candidate)); + stream->active_local_candidates = g_list_prepend( + stream->active_local_candidates, + purple_media_candidate_copy( + local_candidate)); id = purple_media_candidate_get_component_id(local_candidate); @@ -972,20 +968,16 @@ purple_media_candidate_pair_established_cb(PurpleMediaBackend *backend, PurpleMediaCandidate *c = iter->data; if (id == purple_media_candidate_get_component_id(c)) { g_object_unref(c); - stream->active_remote_candidates = - g_list_delete_link(iter, iter); - stream->active_remote_candidates = g_list_prepend( + stream->active_remote_candidates = g_list_delete_link( stream->active_remote_candidates, - purple_media_candidate_copy( - remote_candidate)); + iter); break; } } - if (iter == NULL) - stream->active_remote_candidates = g_list_prepend( - stream->active_remote_candidates, - purple_media_candidate_copy( - remote_candidate)); + stream->active_remote_candidates = g_list_prepend( + stream->active_remote_candidates, + purple_media_candidate_copy( + remote_candidate)); g_signal_emit(media, purple_media_signals[CANDIDATE_PAIR_ESTABLISHED], 0, sess_id, name, local_candidate, remote_candidate); diff --git a/libpurple/queuedoutputstream.c b/libpurple/queuedoutputstream.c index be5dfd5491..1d8afc72c4 100644 --- a/libpurple/queuedoutputstream.c +++ b/libpurple/queuedoutputstream.c @@ -216,6 +216,7 @@ purple_queued_output_stream_push_bytes_async(PurpleQueuedOutputStream *stream, return; } + g_clear_error (&error); priv->pending_queued = TRUE; if (set_pending) { |