diff --git a/ChangeLog b/ChangeLog index 7ecaa3e96e..10e1ba144b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Apr 28 00:35:45 2013 Tanaka Akira + + * 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 * lib/yaml.rb: add security warning to YAML documentation diff --git a/configure.in b/configure.in index 9bcb1b9cc1..5e6d253900 100644 --- a/configure.in +++ b/configure.in @@ -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\ diff --git a/process.c b/process.c index 5fd08c3e61..c608721713 100644 --- a/process.c +++ b/process.c @@ -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 }