summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-03-16 09:35:23 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-03-16 09:35:23 +0000
commitf99852f162689e3427feecfc4665b330b457dc68 (patch)
tree641210f510e5d7cbb0deef1d90a427caec8c1667 /ext
parent2134d1c78832b974e352e7bc0b64fe0f8cf5c972 (diff)
* ext/etc/etc.c (etc_getgrgid): Fix a bug in Etc::getgrgid()
always returning the (real) group entry of the running process; reported by: UEDA Hiroyuki <ueda AT netforest.ad.jp> in [ruby-dev:30586]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/etc/etc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/etc/etc.c b/ext/etc/etc.c
index 447d833bc7..486963378b 100644
--- a/ext/etc/etc.c
+++ b/ext/etc/etc.c
@@ -337,7 +337,7 @@ etc_getgrgid(obj, id)
struct group *grp;
rb_secure(4);
- gid = getgid();
+ gid = PW_VAL2GID(id);
grp = getgrgid(gid);
if (grp == 0) rb_raise(rb_eArgError, "can't find group for %d", gid);
return setup_group(grp);