diff --git a/ChangeLog b/ChangeLog index 771a62fb0d..33381a679e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Apr 3 18:33:38 2012 Nobuyoshi Nakada + + * process.c (setreuid, setregid): suppress warnings. + [ruby-core:43374][Bug #6169] + Tue Apr 3 10:18:27 2012 Nobuyoshi Nakada * enumerator.c (inspect_enumerator): suppress uninitialized diff --git a/process.c b/process.c index 3c67bb6396..390cbdb047 100644 --- a/process.c +++ b/process.c @@ -113,9 +113,11 @@ static VALUE rb_cProcessTms; #ifdef BROKEN_SETREUID #define setreuid ruby_setreuid +int setreuid(rb_uid_t ruid, rb_uid_t euid); #endif #ifdef BROKEN_SETREGID #define setregid ruby_setregid +int setregid(rb_gid_t rgid, rb_gid_t egid); #endif #if defined(HAVE_44BSD_SETUID) || defined(__MacOS_X__) @@ -4307,11 +4309,11 @@ static rb_uid_t SAVED_USER_ID = -1; int setreuid(rb_uid_t ruid, rb_uid_t euid) { - if (ruid != -1 && ruid != getuid()) { - if (euid == -1) euid = geteuid(); + if (ruid != (rb_uid_t)-1 && ruid != getuid()) { + if (euid == (rb_uid_t)-1) euid = geteuid(); if (setuid(ruid) < 0) return -1; } - if (euid != -1 && euid != geteuid()) { + if (euid != (rb_uid_t)-1 && euid != geteuid()) { if (seteuid(euid) < 0) return -1; } return 0; @@ -5010,11 +5012,11 @@ static rb_gid_t SAVED_GROUP_ID = -1; int setregid(rb_gid_t rgid, rb_gid_t egid) { - if (rgid != -1 && rgid != getgid()) { - if (egid == -1) egid = getegid(); + if (rgid != (rb_gid_t)-1 && rgid != getgid()) { + if (egid == (rb_gid_t)-1) egid = getegid(); if (setgid(rgid) < 0) return -1; } - if (egid != -1 && egid != getegid()) { + if (egid != (rb_gid_t)-1 && egid != getegid()) { if (setegid(egid) < 0) return -1; } return 0;