Fix some leaks.

Sun, 16 Aug 2020 18:58:39 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Sun, 16 Aug 2020 18:58:39 -0500
changeset 40514
30d9cbf04922
parent 40513
6d79c7cf9699
child 40515
726fae68fdac

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/

finch/gntxfer.c file | annotate | diff | comparison | revisions
libpurple/plugins/codeinline.c file | annotate | diff | comparison | revisions
libpurple/protocols/gg/pubdir-prpl.c file | annotate | diff | comparison | revisions
libpurple/protocols/jabber/google/google_session.c file | annotate | diff | comparison | revisions
libpurple/protocols/zephyr/zephyr.c file | annotate | diff | comparison | revisions
pidgin/gtksmiley-manager.c file | annotate | diff | comparison | revisions
--- 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");

mercurial