summaryrefslogtreecommitdiff
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
commit0cd7c01c6a4eaea12990fbcbd4d5b7c1a517683b (patch)
treed5719c034146d507ae7e539753e1a67f2f7235fa /ruby.c
parentd4db9e9c6091e5763a869792f63006fb0498a1b8 (diff)
* 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: svn+ssh://ci.ruby-lang.org/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 40d9dbd23f..4f25fc49c1 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);
}
}