* process.c (obj2gid): Don't call endgrnam() if not exist.

Bionic (Android's libc) don't have endgrnam().

* configure.in: Check endgrnam function.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2013-04-27 15:38:36 +00:00
parent b5e8e33ddc
commit 1a67580eb5
3 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,10 @@
Sun Apr 28 00:35:45 2013 Tanaka Akira <akr@fsij.org>
* process.c (obj2gid): Don't call endgrnam() if not exist.
Bionic (Android's libc) don't have endgrnam().
* configure.in: Check endgrnam function.
Sat Apr 27 23:53:00 2013 Charlie Somerville <charlie@charliesomerville.com>
* lib/yaml.rb: add security warning to YAML documentation

View File

@ -1700,7 +1700,8 @@ AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall __syscall chroot ge
setitimer setruid seteuid setreuid setresuid socketpair\
setrgid setegid setregid setresgid issetugid pause lchown lchmod\
getpgrp setpgrp getpgid setpgid initgroups getgroups setgroups\
getpriority getrlimit setrlimit sysconf close getpwnam_r getgrnam_r\
getpriority getrlimit setrlimit sysconf close \
getpwnam_r getgrnam_r endgrnam \
dlopen sigprocmask sigaction _setjmp _longjmp\
getsid setsid telldir seekdir fchmod cosh sinh tanh log2 round llabs\
setuid setgid daemon select_large_fdset setenv unsetenv\

View File

@ -4808,13 +4808,13 @@ obj2gid(VALUE id
grptr = getgrnam(grpname);
#endif
if (!grptr) {
#ifndef USE_GETGRNAM_R
#if !defined(USE_GETGRNAM_R) && defined(HAVE_ENDGRENT)
endgrent();
#endif
rb_raise(rb_eArgError, "can't find group for %s", grpname);
}
gid = grptr->gr_gid;
#ifndef USE_GETGRNAM_R
#if !defined(USE_GETGRNAM_R) && defined(HAVE_ENDGRENT)
endgrent();
#endif
}