Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:vuntz:11.4-testing
glib2
glib2-fix-dbus-connection.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File glib2-fix-dbus-connection.patch of Package glib2
From 68b16deb1f4ec739f80291156f2e0e2eed87d225 Mon Sep 17 00:00:00 2001 From: Colin Walters <walters@verbum.org> Date: Wed, 13 Apr 2011 18:03:58 +0000 Subject: gdbusconnection: Avoid tripping assertion if we fail to authenticate twice If g_bus_get_sync() fails in authentication (because e.g. the process uid, doesn't match the expected in EXTERNAL), a secondary call to g_bus_get_sync() would notice we aren't initialized, and try to initialize. The assertion here is just wrong; we now explicitly and clearly handle both cases where we already have an error, or we already succeeded. https://bugzilla.gnome.org/show_bug.cgi?id=635694 --- diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c index 3bacf81..999cb80 100644 --- a/gio/gdbusconnection.c +++ b/gio/gdbusconnection.c @@ -2264,15 +2264,20 @@ initable_init (GInitable *initable, ret = FALSE; + /* First, handle the case where the connection already has an + * initialization error set. + */ + if (connection->initialization_error != NULL) + goto out; + + /* Also make this a no-op if we're already initialized fine */ if (connection->is_initialized) { - if (connection->stream != NULL) - ret = TRUE; - else - g_assert (connection->initialization_error != NULL); + ret = TRUE; goto out; } - g_assert (connection->initialization_error == NULL); + + g_assert (connection->initialization_error == NULL && !connection->is_initialized); /* The user can pass multiple (but mutally exclusive) construct * properties: -- cgit v0.9
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor