[Bug 48646] New: [accounts-glib] fallback logic to get account ID is a bit broken

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Apr 13 14:49:43 CEST 2012


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

             Bug #: 48646
           Summary: [accounts-glib] fallback logic to get account ID is a
                    bit broken
    Classification: Unclassified
           Product: Telepathy
           Version: git master
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: mission-control
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: simon.mcvittie at collabora.co.uk
         QAContact: telepathy-bugs at lists.freedesktop.org
                CC: danilo.eu at gmail.com, vivek at collabora.co.uk


By inspection of the source code, _ag_account_local_value and
_ag_account_global_value appear to expect to be passed a GValue initialized to
store a string (G_TYPE_STRING).

However, before reaching the code path that issues this message:

  DEBUG ("no " MC_IDENTITY_KEY " found, synthesising one:");

the GValue has been unset with g_value_unset() (true since commit b29f2a85),
which returns it to an all-zeroes state, in which it needs to be re-initialized
with g_value_init() to be used.

I believe one correct fix is to insert a call to

  g_value_init (&value, G_TYPE_STRING);

just after that debug message is emitted.

Another possibility would be to change this code added by b29f2a85:

@@ -885,6 +885,10 @@ _ag_accountid_to_mc_key (McdAccountManagerSso *sso,
       g_value_unset (&value);
       return uid;
     }
+  else
+    {
+      g_value_unset (&value);
+    }

   if (!create)
     return NULL;

into:

      g_value_unset (&value);
      return uid;
    }
  else if (!create)
    {
      g_value_unset (&value);
      return NULL;
    }

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list