From 1a67580eb5ddbb6f81c635740614c48eb6cccd14 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 27 Apr 2013 15:38:36 +0000 Subject: [PATCH] * 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 --- ChangeLog | 7 +++++++ configure.in | 3 ++- process.c | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) 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 }