diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2010-11-21 09:56:48 +0000 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2010-11-21 09:56:48 +0000 |
commit | d5f1dcd21127eb3c3d89c2aabdb1a291c48ff819 (patch) | |
tree | f36c9fe1514d17937670dec41e5d32630727ee6b | |
parent | 2cf5f6603d4ab1c16b6c020d2397afa836164f2f (diff) | |
download | pidgin-d5f1dcd21127eb3c3d89c2aabdb1a291c48ff819.tar.gz |
Fix a lot more leaks, some old, some new.
-rw-r--r-- | libpurple/protocols/msn/directconn.c | 1 | ||||
-rw-r--r-- | libpurple/protocols/msn/msg.c | 2 | ||||
-rw-r--r-- | libpurple/protocols/msn/msn.c | 2 | ||||
-rw-r--r-- | libpurple/protocols/msn/notification.c | 1 | ||||
-rw-r--r-- | libpurple/protocols/msn/object.c | 2 | ||||
-rw-r--r-- | libpurple/protocols/msn/sbconn.c | 5 | ||||
-rw-r--r-- | libpurple/protocols/msn/slpcall.c | 1 | ||||
-rw-r--r-- | libpurple/protocols/msn/slplink.c | 5 | ||||
-rw-r--r-- | libpurple/protocols/msn/slpmsg_part.c | 3 | ||||
-rw-r--r-- | libpurple/protocols/msn/switchboard.c | 1 |
10 files changed, 16 insertions, 7 deletions
diff --git a/libpurple/protocols/msn/directconn.c b/libpurple/protocols/msn/directconn.c index 961bc68492..72b521ae35 100644 --- a/libpurple/protocols/msn/directconn.c +++ b/libpurple/protocols/msn/directconn.c @@ -633,6 +633,7 @@ msn_dc_process_packet(MsnDirectConn *dc, guint32 packet_length) if (dc->header.length) { part = msn_slpmsgpart_new_from_data(dc->in_buffer + 4, dc->header.length); msn_slplink_process_msg(dc->slplink, part); + msn_slpmsgpart_destroy(part); } /* diff --git a/libpurple/protocols/msn/msg.c b/libpurple/protocols/msn/msg.c index e127850b34..d58272ac75 100644 --- a/libpurple/protocols/msn/msg.c +++ b/libpurple/protocols/msn/msg.c @@ -368,6 +368,8 @@ msn_message_gen_payload(MsnMessage *msg, size_t *ret_size) memcpy(n, body, siz); n += siz; + + g_free(body); } else { diff --git a/libpurple/protocols/msn/msn.c b/libpurple/protocols/msn/msn.c index 15b31d8713..9cffff8989 100644 --- a/libpurple/protocols/msn/msn.c +++ b/libpurple/protocols/msn/msn.c @@ -1446,6 +1446,7 @@ msn_send_im_message(MsnSession *session, MsnMessage *msg) } msn_switchboard_send_msg(swboard, msg, TRUE); + msn_message_destroy(msg); } static int @@ -2081,6 +2082,7 @@ msn_keepalive(PurpleConnection *gc) trans = msn_transaction_new(cmdproc, "PNG", NULL); msn_transaction_set_saveable(trans, FALSE); msn_cmdproc_send_trans(cmdproc, trans); + msn_transaction_destroy(trans); } } diff --git a/libpurple/protocols/msn/notification.c b/libpurple/protocols/msn/notification.c index 0bb93572be..9197bcb2c7 100644 --- a/libpurple/protocols/msn/notification.c +++ b/libpurple/protocols/msn/notification.c @@ -309,6 +309,7 @@ msn_notification_close(MsnNotification *notification) trans = msn_transaction_new(notification->cmdproc, "OUT", NULL); msn_transaction_set_saveable(trans, FALSE); msn_cmdproc_send_trans(notification->cmdproc, trans); + msn_transaction_destroy(trans); msn_notification_disconnect(notification); } diff --git a/libpurple/protocols/msn/object.c b/libpurple/protocols/msn/object.c index ce0ce0ffab..bee264109a 100644 --- a/libpurple/protocols/msn/object.c +++ b/libpurple/protocols/msn/object.c @@ -202,6 +202,8 @@ msn_object_destroy(MsnObject *obj) g_free(obj->friendly); g_free(obj->sha1d); g_free(obj->sha1c); + g_free(obj->url); + g_free(obj->url1); purple_imgstore_unref(obj->img); diff --git a/libpurple/protocols/msn/sbconn.c b/libpurple/protocols/msn/sbconn.c index c84284f512..b312d5c129 100644 --- a/libpurple/protocols/msn/sbconn.c +++ b/libpurple/protocols/msn/sbconn.c @@ -16,10 +16,10 @@ void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part) passport = purple_normalize(slplink->session->account, slplink->remote_user); msn_message_set_header(msg, "P2P-Dest", passport); - data = msn_slpmsgpart_serialize(part, &size); msg->part = msn_slpmsgpart_ref(part); - + data = msn_slpmsgpart_serialize(part, &size); msn_message_set_bin_data(msg, data, size); + g_free(data); if (slplink->swboard == NULL) { @@ -33,6 +33,7 @@ void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part) } msn_switchboard_send_msg(slplink->swboard, msg, TRUE); + msn_message_destroy(msg); } /** Called when a message times out. */ diff --git a/libpurple/protocols/msn/slpcall.c b/libpurple/protocols/msn/slpcall.c index c46d7057ec..99fa26f91e 100644 --- a/libpurple/protocols/msn/slpcall.c +++ b/libpurple/protocols/msn/slpcall.c @@ -826,6 +826,7 @@ got_ok(MsnSlpCall *slpcall, /* Try direct file transfer by sending a second INVITE */ dc = msn_dc_new(slpcall); + g_free(slpcall->branch); slpcall->branch = rand_guid(); dc->listen_data = purple_network_listen_range( diff --git a/libpurple/protocols/msn/slplink.c b/libpurple/protocols/msn/slplink.c index 20821bc7b6..0dff16906a 100644 --- a/libpurple/protocols/msn/slplink.c +++ b/libpurple/protocols/msn/slplink.c @@ -502,7 +502,6 @@ process_complete_msg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg, MsnP2PHeader *h slpcall = msn_slp_process_msg(slplink, slpmsg); if (slpcall == NULL) { - msn_slpmsg_destroy(slpmsg); return; } @@ -541,8 +540,6 @@ process_complete_msg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg, MsnP2PHeader *h } } - msn_slpmsg_destroy(slpmsg); - if (!slpcall->wait_for_socket && slpcall->wasted) msn_slpcall_destroy(slpcall); } @@ -625,6 +622,8 @@ msn_slplink_process_msg(MsnSlpLink *slplink, MsnSlpMessagePart *part) /* All the pieces of the slpmsg have been received */ if (header->offset + header->length >= header->total_size) process_complete_msg(slplink, slpmsg, header); + + msn_slpmsg_destroy(slpmsg); } void diff --git a/libpurple/protocols/msn/slpmsg_part.c b/libpurple/protocols/msn/slpmsg_part.c index 9209439ad3..f614c208c9 100644 --- a/libpurple/protocols/msn/slpmsg_part.c +++ b/libpurple/protocols/msn/slpmsg_part.c @@ -109,8 +109,7 @@ void msn_slpmsgpart_set_bin_data(MsnSlpMessagePart *part, const void *data, size { g_return_if_fail(part != NULL); - if (part->buffer != NULL) - g_free(part->buffer); + g_free(part->buffer); if (data != NULL && len > 0) { part->buffer = g_malloc(len + 1); diff --git a/libpurple/protocols/msn/switchboard.c b/libpurple/protocols/msn/switchboard.c index f875a35ecf..1bbe450cb5 100644 --- a/libpurple/protocols/msn/switchboard.c +++ b/libpurple/protocols/msn/switchboard.c @@ -1147,6 +1147,7 @@ msn_switchboard_close(MsnSwitchBoard *swboard) trans = msn_transaction_new(cmdproc, "OUT", NULL); msn_transaction_set_saveable(trans, FALSE); msn_cmdproc_send_trans(cmdproc, trans); + msn_transaction_destroy(trans); msn_switchboard_destroy(swboard); } |