summaryrefslogtreecommitdiffstats
path: root/ruby.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-03-25 08:26:08 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-03-25 08:26:08 +0000
commit350cd667c1e7778db59567d6ef4d3ce4daae692c (patch)
treed5719c034146d507ae7e539753e1a67f2f7235fa /ruby.c
parente314b134ed907bac18a9d10f43e4d48580ab1c19 (diff)
downloadruby-350cd667c1e7778db59567d6ef4d3ce4daae692c.tar.gz
ruby-350cd667c1e7778db59567d6ef4d3ce4daae692c.tar.xz
ruby-350cd667c1e7778db59567d6ef4d3ce4daae692c.zip
* eval.c (rb_yield_0): call avalue_to_mrhs() to assign block
parameter |a|. [ruby-dev:19897] * ruby.c (ruby_set_argv): freeze argument strings. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ruby.c b/ruby.c
index 40d9dbd23..4f25fc49c 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1055,7 +1055,10 @@ ruby_set_argv(argc, argv)
#endif
rb_ary_clear(rb_argv);
for (i=0; i < argc; i++) {
- rb_ary_push(rb_argv, rb_tainted_str_new2(argv[i]));
+ VALUE arg = rb_tainted_str_new2(argv[i]);
+
+ OBJ_FREEZE(arg);
+ rb_ary_push(rb_argv, arg);
}
}