From: Havoc Pennington Date: Mon, 14 Feb 2005 19:07:29 +0000 (+0000) Subject: 2005-02-14 Havoc Pennington X-Git-Tag: dbus-0.23.2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7b340cdb43e80656dddfeddac8390157ee1bf5d6;p=thirdparty%2Fdbus.git 2005-02-14 Havoc Pennington * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): properly handle looking up group information by name; fix from j@bootlab.org --- diff --git a/ChangeLog b/ChangeLog index c25b77dc9..59821b836 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-02-14 Havoc Pennington + + * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): + properly handle looking up group information by name; fix + from j@bootlab.org + 2005-02-13 Havoc Pennington * dbus/dbus-connection.c (dbus_connection_return_message) diff --git a/dbus/dbus-userdb-util.c b/dbus/dbus-userdb-util.c index 102260072..3d51f71de 100644 --- a/dbus/dbus-userdb-util.c +++ b/dbus/dbus-userdb-util.c @@ -218,12 +218,28 @@ _dbus_user_database_lookup_group (DBusUserDatabase *db, return NULL; } - if (!_dbus_group_info_fill_gid (info, gid, error)) + if (gid != DBUS_GID_UNSET) { - _DBUS_ASSERT_ERROR_IS_SET (error); - _dbus_group_info_free_allocated (info); - return NULL; + if (!_dbus_group_info_fill_gid (info, gid, error)) + { + _DBUS_ASSERT_ERROR_IS_SET (error); + _dbus_group_info_free_allocated (info); + return NULL; + } } + else + { + if (!_dbus_group_info_fill (info, groupname, error)) + { + _DBUS_ASSERT_ERROR_IS_SET (error); + _dbus_group_info_free_allocated (info); + return NULL; + } + } + + /* don't use these past here */ + gid = DBUS_GID_UNSET; + groupname = NULL; if (!_dbus_hash_table_insert_ulong (db->groups, info->gid, info)) {