https://bugs.freedesktop.org/show_bug.cgi?id=98529
Patrick Ohly <patrick.ohly(a)gmx.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #1 from Patrick Ohly <patrick.ohly(a)gmx.de> ---
Fix included in master branch:
commit 59372771027ea98f59e42b2390263b077a71876c
Author: Patrick Ohly <patrick.ohly(a)intel.com>
Date: Thu Nov 3 00:50:26 2016 -0700
SignonAuthProvider: fix ref counting issue
The account data was unreferenced once too often, or rather, a suitable ref
count increase was missing. A debug build of glib detects that ("GLib:
g_variant_unref: assertion 'value->ref_count > 0' failed"), but
without
that
check the code might also crash.
diff --git a/src/backends/signon/signon-accounts.cpp
b/src/backends/signon/signon-accounts.cpp
index 488a0e6..3ea9074 100644
--- a/src/backends/signon/signon-accounts.cpp
+++ b/src/backends/signon/signon-accounts.cpp
@@ -165,7 +165,7 @@ private:
// so we have to use the "steal" variant to enable that assignment.
GVariantStealCXX resultData;
GErrorCXX gerror;
- GVariantCXX sessionData(ag_auth_data_get_login_parameters(m_authData,
extraOptions), TRANSFER_REF);
+ GVariantCXX
sessionData(g_variant_ref_sink(ag_auth_data_get_login_parameters(m_authData,
extraOptions)), TRANSFER_REF);
const char *mechanism = ag_auth_data_get_mechanism(m_authData);
PlainGStr buffer(g_variant_print(sessionData, true));
SE_LOG_DEBUG(NULL, "asking for authentication with method %s,
mechanism %s and parameters %s",
--
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.