diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-03-12 21:21:57 -0400 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-03-12 21:21:57 -0400 |
commit | 47512cd35c27a91b973f39efb778c023aa4a2857 (patch) | |
tree | 227989f4b570a67a953f79cfcd0f7cf0998d7d97 | |
parent | f3924646b743bc43882c51b2a469e6769a1084d0 (diff) | |
download | pidgin-47512cd35c27a91b973f39efb778c023aa4a2857.tar.gz |
Fix leaky calls to purple_image_new_from_data.
It makes a copy itself; no need to do that before calling it.
-rw-r--r-- | libpurple/protocols/jabber/buddy.c | 2 | ||||
-rw-r--r-- | libpurple/protocols/oscar/odc.c | 2 | ||||
-rw-r--r-- | pidgin/gtkaccount.c | 2 | ||||
-rw-r--r-- | pidgin/gtksmiley-manager.c | 3 |
4 files changed, 4 insertions, 5 deletions
diff --git a/libpurple/protocols/jabber/buddy.c b/libpurple/protocols/jabber/buddy.c index 28a0c4f140..88887ad41f 100644 --- a/libpurple/protocols/jabber/buddy.c +++ b/libpurple/protocols/jabber/buddy.c @@ -1208,7 +1208,7 @@ static void jabber_vcard_parse(JabberStream *js, const char *from, char *img_text; char *hash; - img = purple_image_new_from_data(g_memdup(data, size), size); + img = purple_image_new_from_data(data, size); img_id = purple_image_store_add(img); jbi->vcard_images = g_slist_prepend(jbi->vcard_images, img); diff --git a/libpurple/protocols/oscar/odc.c b/libpurple/protocols/oscar/odc.c index af81c4e8b4..4e30564a30 100644 --- a/libpurple/protocols/oscar/odc.c +++ b/libpurple/protocols/oscar/odc.c @@ -355,7 +355,7 @@ peer_odc_handle_payload(PeerConnection *conn, const char *msg, size_t len, int e if ((embedded_data != NULL) && (embedded_data->size == size)) { image = purple_image_new_from_data( - g_memdup(embedded_data->data, size), + embedded_data->data, size); purple_image_set_friendly_filename(image, src); } diff --git a/pidgin/gtkaccount.c b/pidgin/gtkaccount.c index b45af7e8da..70dac951f9 100644 --- a/pidgin/gtkaccount.c +++ b/pidgin/gtkaccount.c @@ -188,7 +188,7 @@ set_dialog_icon(AccountPrefsDialog *dialog, gpointer data, size_t len, gchar *ne g_free(data); } else if (data != NULL) { if (len > 0) - dialog->icon_img = purple_image_new_from_data(data, len); + dialog->icon_img = purple_image_new_take_data(data, len); else g_free(data); } diff --git a/pidgin/gtksmiley-manager.c b/pidgin/gtksmiley-manager.c index b54bec700d..78bdaff09a 100644 --- a/pidgin/gtksmiley-manager.c +++ b/pidgin/gtksmiley-manager.c @@ -452,8 +452,7 @@ smiley_list_dnd_url_got(PurpleHttpConnection *http_conn, return; image_data = purple_http_response_get_data(response, &image_size); - image = purple_image_new_from_data(g_memdup(image_data, image_size), - image_size); + image = purple_image_new_from_data((const guint8 *)image_data, image_size); if (!image) return; |