https://bugs.freedesktop.org/show_bug.cgi?id=98529

Patrick Ohly <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #1 from Patrick Ohly <[email protected]> ---
Fix included in master branch:

commit 59372771027ea98f59e42b2390263b077a71876c
Author: Patrick Ohly <[email protected]>
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.
_______________________________________________
Syncevolution-issues mailing list
[email protected]
https://lists.syncevolution.org/mailman/listinfo/syncevolution-issues

Reply via email to