summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-20 02:33:06 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-20 02:33:06 +0000
commit5a24475a133a74b84e8d6005a99fb4648580711f (patch)
tree94dad33a38af60b9f8649955eae620bd9ddf51b1 /process.c
parent5fe8065849039acbe859ea48a259ae8d5174da10 (diff)
process.c: fixnum umask
* process.c (rb_execarg_addopt): always make Fixnum, and ignore higher bits in too large umask value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r--process.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/process.c b/process.c
index 326f379661..6f230ee61b 100644
--- a/process.c
+++ b/process.c
@@ -1602,7 +1602,7 @@ rb_execarg_addopt(struct rb_exec_arg *e, VALUE key, VALUE val)
if (!NIL_P(rb_ary_entry(options, EXEC_OPTION_UMASK))) {
rb_raise(rb_eArgError, "umask option specified twice");
}
- rb_ary_store(options, EXEC_OPTION_UMASK, LONG2NUM(cmask));
+ rb_ary_store(options, EXEC_OPTION_UMASK, LONG2FIX(cmask));
}
else if (id == rb_intern("close_others")) {
if (!NIL_P(rb_ary_entry(options, EXEC_OPTION_CLOSE_OTHERS))) {