--- a/libpurple/plugins/keyrings/wincred.c Sat Jan 30 22:32:07 2021 -0600
+++ b/libpurple/plugins/keyrings/wincred.c Sat Jan 30 22:33:58 2021 -0600
@@ -89,6 +89,7 @@
target_name = wincred_get_target_name(account, &error);
if (target_name == NULL) {
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -122,6 +123,7 @@
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -139,6 +141,7 @@
PURPLE_KEYRING_ERROR_BACKENDFAIL,
_("Cannot read password (unicode error)."));
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); purple_debug_misc("keyring-wincred",
@@ -147,6 +150,7 @@
g_task_return_pointer(task, password, g_free);
+ g_object_unref(G_OBJECT(task)); @@ -179,6 +183,7 @@
target_name = wincred_get_target_name(account, &error);
if (target_name == NULL) {
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -188,6 +193,7 @@
purple_debug_fatal("keyring-wincred", "Couldn't convert username");
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -197,6 +203,7 @@
purple_debug_fatal("keyring-wincred", "Couldn't convert password");
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -240,6 +247,8 @@
g_task_return_boolean(task, TRUE);
+ g_object_unref(G_OBJECT(task)); @@ -267,6 +276,7 @@
target_name = wincred_get_target_name(account, &error);
if (target_name == NULL) {
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -274,7 +284,6 @@
purple_debug_misc("keyring-wincred", "Password for account %s removed",
purple_account_get_username(account));
g_task_return_boolean(task, TRUE);
DWORD error_code = GetLastError();
@@ -302,6 +311,8 @@
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); --- a/libpurple/purplecredentialmanager.c Sat Jan 30 22:32:07 2021 -0600
+++ b/libpurple/purplecredentialmanager.c Sat Jan 30 22:33:58 2021 -0600
@@ -442,6 +442,7 @@
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -490,6 +491,7 @@
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -502,6 +504,7 @@
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task)); @@ -548,6 +551,7 @@
g_task_return_error(task, error);
+ g_object_unref(G_OBJECT(task));