diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | process.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Wed Jun 20 11:33:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * process.c (rb_execarg_addopt): always make Fixnum, and ignore higher + bits in too large umask value. + Wed Jun 20 11:24:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): deal with @@ -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))) { |