summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabrice Bellet <fabrice@bellet.info>2019-11-10 17:47:33 +0100
committerFabrice Bellet <fabrice@bellet.info>2019-11-10 17:47:33 +0100
commite27d4b29c2952a125914f1a02227e20b8b6347ce (patch)
treeca6eb07ee223548c3b3477fe87cd4ad62a8593ec
parent2325d774d2edc3dff6d87b56404b6a91f6bd5348 (diff)
downloadpidgin-e27d4b29c2952a125914f1a02227e20b8b6347ce.tar.gz
fix some other memory leaks
-rw-r--r--libpurple/media.c32
-rw-r--r--libpurple/queuedoutputstream.c1
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) {