mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* file.c (rb_group_member): kill 256K of stack usage.
the patch was written by Eric Wong. [ruby-core:35699] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2934feb9ff
commit
3b011d1a00
2 changed files with 16 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Mon Apr 11 21:15:54 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
|
||||||
|
|
||||||
|
* file.c (rb_group_member): kill 256K of stack usage.
|
||||||
|
the patch was written by Eric Wong. [ruby-core:35699]
|
||||||
|
|
||||||
Mon Apr 11 07:24:13 2011 Eric Hodel <drbrain@segment7.net>
|
Mon Apr 11 07:24:13 2011 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
* ext/openssl/ossl.c: Fix typo, document version constants.
|
* ext/openssl/ossl.c: Fix typo, document version constants.
|
||||||
|
|
16
file.c
16
file.c
|
@ -982,6 +982,7 @@ rb_file_lstat(VALUE obj)
|
||||||
static int
|
static int
|
||||||
rb_group_member(GETGROUPS_T gid)
|
rb_group_member(GETGROUPS_T gid)
|
||||||
{
|
{
|
||||||
|
int rv = FALSE;
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
if (getgid() == gid || getegid() == gid)
|
if (getgid() == gid || getegid() == gid)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -995,17 +996,22 @@ rb_group_member(GETGROUPS_T gid)
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
{
|
{
|
||||||
GETGROUPS_T gary[NGROUPS];
|
GETGROUPS_T *gary;
|
||||||
int anum;
|
int anum;
|
||||||
|
|
||||||
|
gary = xmalloc(NGROUPS * sizeof(GETGROUPS_T));
|
||||||
anum = getgroups(NGROUPS, gary);
|
anum = getgroups(NGROUPS, gary);
|
||||||
while (--anum >= 0)
|
while (--anum >= 0) {
|
||||||
if (gary[anum] == gid)
|
if (gary[anum] == gid) {
|
||||||
return TRUE;
|
rv = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xfree(gary);
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
return FALSE;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef S_IXUGO
|
#ifndef S_IXUGO
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue