Sun, 16 Aug 2020 18:58:39 -0500
Fix some leaks.
Also, expand `g_ascii_dtostr` buffers to `G_ASCII_DTOSTR_BUF_SIZE`.
This is the size it's guaranteed to be under, so might as well have it be that size. It not too much bigger than the existing choice anyway.
Testing Done:
Compile only.
Reviewed at https://reviews.imfreedom.org/r/71/
--- a/finch/gntxfer.c Sun Aug 16 03:30:06 2020 -0500 +++ b/finch/gntxfer.c Sun Aug 16 18:58:39 2020 -0500 @@ -376,7 +376,7 @@ PurpleGntXferUiData *data; char *size_str, *remaining_str; gint64 current_time; - char prog_str[5]; + char prog_str[G_ASCII_DTOSTR_BUF_SIZE]; double kb_sent; double kbps = 0.0; gint64 now; @@ -416,7 +416,7 @@ kbsec = g_strdup_printf(_("%.2f KB/s"), kbps); gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_PROGRESS, - g_ascii_dtostr(prog_str, sizeof(prog_str), purple_xfer_get_progress(xfer) * 100.)); + g_ascii_dtostr(prog_str, G_ASCII_DTOSTR_BUF_SIZE, purple_xfer_get_progress(xfer) * 100.)); gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_SIZE, size_str); gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_REMAINING, remaining_str); gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_SPEED, kbsec);
--- a/libpurple/plugins/codeinline.c Sun Aug 16 03:30:06 2020 -0500 +++ b/libpurple/plugins/codeinline.c Sun Aug 16 18:58:39 2020 -0500 @@ -36,7 +36,9 @@ ms = g_strsplit(m, "</u>", -1); g_free(m); - return g_strjoinv("</font>", ms); + m = g_strjoinv("</font>", ms); + g_strfreev(ms); + return m; } static gboolean outgoing_msg_cb1(PurpleConversation *conv, PurpleMessage *msg,
--- a/libpurple/protocols/gg/pubdir-prpl.c Sun Aug 16 03:30:06 2020 -0500 +++ b/libpurple/protocols/gg/pubdir-prpl.c Sun Aug 16 18:58:39 2020 -0500 @@ -799,7 +799,6 @@ name = g_uri_escape_string(record->first_name, NULL, FALSE); surname = g_uri_escape_string(record->last_name, NULL, FALSE); city = g_uri_escape_string(record->city, NULL, FALSE); - bday = g_date_time_format(record->birth, "%Y-%m-%d"); request_data = g_strdup_printf( @@ -817,6 +816,9 @@ city, record->province); + g_free(name); + g_free(surname); + g_free(city); g_free(bday); if (purple_debug_is_verbose() && purple_debug_is_unsafe()) {
--- a/libpurple/protocols/jabber/google/google_session.c Sun Aug 16 03:30:06 2020 -0500 +++ b/libpurple/protocols/jabber/google/google_session.c Sun Aug 16 18:58:39 2020 -0500 @@ -99,7 +99,7 @@ for (iter = candidates; iter; iter = iter->next) { JabberIq *iq; gchar *ip, *port, *username, *password; - gchar pref[16]; + gchar pref[G_ASCII_DTOSTR_BUF_SIZE]; PurpleMediaCandidateType type; PurpleXmlNode *sess; PurpleXmlNode *candidate; @@ -118,7 +118,7 @@ ip = purple_media_candidate_get_ip(transport); port = g_strdup_printf("%d", purple_media_candidate_get_port(transport)); - g_ascii_dtostr(pref, 16, + g_ascii_dtostr(pref, G_ASCII_DTOSTR_BUF_SIZE, purple_media_candidate_get_priority(transport) / 1000.0); username = purple_media_candidate_get_username(transport); password = purple_media_candidate_get_password(transport);
--- a/libpurple/protocols/zephyr/zephyr.c Sun Aug 16 03:30:06 2020 -0500 +++ b/libpurple/protocols/zephyr/zephyr.c Sun Aug 16 18:58:39 2020 -0500 @@ -1932,7 +1932,7 @@ g_free(zclass); g_free(zinst); g_free(zrecip); - g_free(triple); + g_strfreev(triple); s = s->next; } g_free(fname);
--- a/pidgin/gtksmiley-manager.c Sun Aug 16 03:30:06 2020 -0500 +++ b/pidgin/gtksmiley-manager.c Sun Aug 16 18:58:39 2020 -0500 @@ -494,10 +494,12 @@ purple_debug_warning("gtksmiley-manager", "dropped file does not exists"); gtk_drag_finish(dc, FALSE, FALSE, time); + g_free(filename); return; } image = purple_image_new_from_file(filename, NULL); + g_free(filename); if (!image) { purple_debug_warning("gtksmiley-manager", "dropped file is not a valid image");