summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-06 14:28:02 +0000
committerkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-06 14:28:02 +0000
commitbeed971728f8789d8e2daac0567d109bff21cb2d (patch)
treed073e56eb809ffe3b15bbf7607ed3b42029086d3
parentaca674c2e7c0c99c9caf11e7fe46621b16d57bb5 (diff)
* process.c (proc_setmaxgroups): added negative value check.
This was suggested by Daniel Berger. Thanks Daniel! [ruby-core:35426][Bug#4467] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--process.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index cba6787adf..2f2b527998 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Mar 6 23:26:07 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+
+ * process.c (proc_setmaxgroups): added negative value check.
+ This was suggested by Daniel Berger. Thanks Daniel!
+ [ruby-core:35426][Bug#4467]
+
Sun Mar 6 23:18:23 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* process.c (maxgroups, proc_setmaxgroups): increase max groups
diff --git a/process.c b/process.c
index e55c3fda83..a216291595 100644
--- a/process.c
+++ b/process.c
@@ -4713,7 +4713,10 @@ proc_getmaxgroups(VALUE obj)
static VALUE
proc_setmaxgroups(VALUE obj, VALUE val)
{
- int ngroups = FIX2UINT(val);
+ int ngroups = FIX2INT(val);
+
+ if (ngroups <= 0)
+ rb_raise(rb_eArgError, "maxgroups %d shold be positive", ngroups);
if (ngroups > RB_MAX_GROUPS)
ngroups = RB_MAX_GROUPS;