diff options
| author | Havoc Pennington <hp@redhat.com> | 2005-02-14 19:07:29 +0000 | 
|---|---|---|
| committer | Havoc Pennington <hp@redhat.com> | 2005-02-14 19:07:29 +0000 | 
| commit | 7b340cdb43e80656dddfeddac8390157ee1bf5d6 (patch) | |
| tree | f673be1f4f8c4e0c24d710cb38ad0023020b65fd | |
| parent | be672187a56300d5aa15b1e5b3bfa5dc0fe48818 (diff) | |
2005-02-14  Havoc Pennington  <hp@redhat.com>
	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group):
	properly handle looking up group information by name; fix
	from j@bootlab.org
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | dbus/dbus-userdb-util.c | 24 | 
2 files changed, 26 insertions, 4 deletions
@@ -1,3 +1,9 @@ +2005-02-14  Havoc Pennington  <hp@redhat.com> + +	* 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  <hp@redhat.com>  	* dbus/dbus-connection.c (dbus_connection_return_message)  diff --git a/dbus/dbus-userdb-util.c b/dbus/dbus-userdb-util.c index 10226007..3d51f71d 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))          {  | 
