pidgin/pidgin

Fix leaked errors

13 months ago, Elliott Sales de Andrade
3fc2d2b7b7a8
Parents a39305511805
Children 865a36ca9b33
Fix leaked errors

And also simplify some cases with `g_clear_error`.

Testing Done:
Compiled and ran tests in valgrind, though it never noticed these anyway.

Reviewed at https://reviews.imfreedom.org/r/2384/
--- a/libpurple/account.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/account.c Thu Mar 23 22:03:45 2023 -0500
@@ -221,6 +221,7 @@
"failed to save password for account \"%s\": %s",
name,
error != NULL ? error->message : "unknown error");
+ g_clear_error(&error);
}
purple_account_real_connect(account, password);
--- a/libpurple/mediamanager.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/mediamanager.c Thu Mar 23 22:03:45 2023 -0500
@@ -177,9 +177,7 @@
purple_debug_error("mediamanager",
"GStreamer failed to initialize: %s.",
error ? error->message : "");
- if (error) {
- g_error_free(error);
- }
+ g_clear_error(&error);
}
purple_prefs_add_none("/purple/media");
--- a/libpurple/prefs.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/prefs.c Thu Mar 23 22:03:45 2023 -0500
@@ -410,9 +410,7 @@
if(!g_file_get_contents(filename, &contents, &length, &error)) {
const gchar *sysconfdir = PURPLE_SYSCONFDIR;
g_free(filename);
- g_error_free(error);
-
- error = NULL;
+ g_clear_error(&error);
if (sysconfdir == NULL)
sysconfdir = "";
--- a/libpurple/protocols/demo/purpledemocontacts.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/protocols/demo/purpledemocontacts.c Thu Mar 23 22:03:45 2023 -0500
@@ -242,6 +242,8 @@
if(!json_parser_load_from_stream(parser, istream, NULL, &error)) {
g_critical("%s", error->message);
+ g_clear_error(&error);
+ return;
}
/* Load our data */
--- a/libpurple/protocols/jabber/oob.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/protocols/jabber/oob.c Thu Mar 23 22:03:45 2023 -0500
@@ -87,6 +87,7 @@
purple_xfer_end(xfer);
g_clear_pointer(&bytes, g_bytes_unref);
g_clear_object(&input);
+ g_clear_error(&error);
jox->msg = NULL;
return;
}
@@ -137,6 +138,7 @@
purple_xfer_set_status(xfer, PURPLE_XFER_STATUS_CANCEL_REMOTE);
purple_xfer_end(xfer);
g_clear_object(&input);
+ g_clear_error(&error);
jox->msg = NULL;
return;
}
--- a/libpurple/purplegdkpixbuf.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/purplegdkpixbuf.c Thu Mar 23 22:03:45 2023 -0500
@@ -136,8 +136,7 @@
purple_debug_warning("gtkutils", "gdk_pixbuf_loader_write() "
"failed with size=%" G_GSIZE_FORMAT ": %s\n", count,
error ? error->message : "(no error message)");
- if (error)
- g_error_free(error);
+ g_clear_error(&error);
g_object_unref(G_OBJECT(loader));
return NULL;
}
@@ -146,8 +145,7 @@
purple_debug_warning("gtkutils", "gdk_pixbuf_loader_close() "
"failed for image of size %" G_GSIZE_FORMAT ": %s\n", count,
error ? error->message : "(no error message)");
- if (error)
- g_error_free(error);
+ g_clear_error(&error);
g_object_unref(G_OBJECT(loader));
return NULL;
}
@@ -198,10 +196,8 @@
pixbuf ? "something" : "nothing",
filename,
error ? error->message : "(no error message)");
- if (error)
- g_error_free(error);
- if (pixbuf)
- g_object_unref(G_OBJECT(pixbuf));
+ g_clear_error(&error);
+ g_clear_object(&pixbuf);
return NULL;
}
@@ -224,10 +220,8 @@
pixbuf ? "something" : "nothing",
filename,
error ? error->message : "(no error message)");
- if (error)
- g_error_free(error);
- if (pixbuf)
- g_object_unref(G_OBJECT(pixbuf));
+ g_clear_error(&error);
+ g_clear_object(&pixbuf);
return NULL;
}
--- a/libpurple/purplegio.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/purplegio.c Thu Mar 23 22:03:45 2023 -0500
@@ -50,7 +50,7 @@
/* Close input stream, from wrapper or GIOStream */
if (!g_input_stream_close(data->input, NULL, &error)) {
- if (error->code != G_IO_ERROR_CANCELLED) {
+ if(!g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
purple_debug_warning("gio", "Error closing input stream: %s",
error->message);
}
@@ -61,7 +61,7 @@
/* Close output stream, from wrapper or GIOStream */
if (!g_output_stream_close(data->output, NULL, &error)) {
- if (error->code != G_IO_ERROR_CANCELLED) {
+ if(!g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
purple_debug_warning("gio", "Error closing output stream: %s",
error->message);
}
@@ -72,7 +72,7 @@
/* Close io stream */
if (!g_io_stream_close(data->stream, NULL, &error)) {
- if (error->code != G_IO_ERROR_CANCELLED) {
+ if(!g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
purple_debug_warning("gio", "Error closing stream: %s",
error->message);
}
--- a/libpurple/tests/sqlite3/test_sqlite3.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/tests/sqlite3/test_sqlite3.c Thu Mar 23 22:03:45 2023 -0500
@@ -33,6 +33,7 @@
version = purple_sqlite3_get_schema_version(NULL, &error);
g_assert_error(error, PURPLE_SQLITE3_DOMAIN, 0);
+ g_clear_error(&error);
g_assert_cmpint(version, ==, -1);
}
--- a/libpurple/tests/test_protocol.c Wed Mar 22 03:22:50 2023 -0500
+++ b/libpurple/tests/test_protocol.c Thu Mar 23 22:03:45 2023 -0500
@@ -66,7 +66,7 @@
task = g_task_new(protocol, cancellable, callback, data);
if(test_protocol->error != NULL) {
- g_task_return_error(task, test_protocol->error);
+ g_task_return_error(task, g_error_copy(test_protocol->error));
} else {
g_task_return_boolean(task, test_protocol->result);
}
@@ -155,6 +155,7 @@
if(test_protocol->error != NULL) {
g_assert_error(error, TEST_PROTOCOL_DOMAIN, 0);
+ g_clear_error(&error);
} else {
g_assert_no_error(error);
}
--- a/pidgin/libpidgin.c Wed Mar 22 03:22:50 2023 -0500
+++ b/pidgin/libpidgin.c Thu Mar 23 22:03:45 2023 -0500
@@ -118,6 +118,7 @@
if (stat != G_IO_STATUS_NORMAL) {
purple_debug_error("sighandler", "Signal callback failed to read "
"from signal socket: %s", error->message);
+ g_clear_error(&error);
purple_core_quit();
return FALSE;
}
--- a/pidgin/pidginabout.c Wed Mar 22 03:22:50 2023 -0500
+++ b/pidgin/pidginabout.c Thu Mar 23 22:03:45 2023 -0500
@@ -144,6 +144,8 @@
if(!json_parser_load_from_stream(parser, istream, NULL, &error)) {
g_critical("%s", error->message);
+ g_clear_error(&error);
+ return;
}
root_node = json_parser_get_root(parser);
--- a/pidgin/pidgindebug.c Wed Mar 22 03:22:50 2023 -0500
+++ b/pidgin/pidgindebug.c Thu Mar 23 22:03:45 2023 -0500
@@ -236,7 +236,6 @@
static void
do_regex(PidginDebugWindow *win, GtkTextIter *start, GtkTextIter *end)
{
- GError *error = NULL;
GMatchInfo *match;
gint initial_position;
gint start_pos, end_pos;
@@ -297,7 +296,7 @@
}
}
- g_match_info_next(match, &error);
+ g_match_info_next(match, NULL);
}
g_match_info_free(match);