зеркало из https://github.com/github/ruby.git
* 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:
Родитель
2934feb9ff
Коммит
3b011d1a00
|
@ -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>
|
||||
|
||||
* 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
|
||||
rb_group_member(GETGROUPS_T gid)
|
||||
{
|
||||
int rv = FALSE;
|
||||
#ifndef _WIN32
|
||||
if (getgid() == gid || getegid() == gid)
|
||||
return TRUE;
|
||||
|
@ -995,17 +996,22 @@ rb_group_member(GETGROUPS_T gid)
|
|||
# endif
|
||||
# endif
|
||||
{
|
||||
GETGROUPS_T gary[NGROUPS];
|
||||
GETGROUPS_T *gary;
|
||||
int anum;
|
||||
|
||||
gary = xmalloc(NGROUPS * sizeof(GETGROUPS_T));
|
||||
anum = getgroups(NGROUPS, gary);
|
||||
while (--anum >= 0)
|
||||
if (gary[anum] == gid)
|
||||
return TRUE;
|
||||
while (--anum >= 0) {
|
||||
if (gary[anum] == gid) {
|
||||
rv = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
xfree(gary);
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
return FALSE;
|
||||
return rv;
|
||||
}
|
||||
|
||||
#ifndef S_IXUGO
|
||||
|
|
Загрузка…
Ссылка в новой задаче