diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-03-26 07:01:14 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-03-26 07:01:14 +0000 |
commit | 5e9a18ee5bb25078e11076f9dba96c9b3b0a06e6 (patch) | |
tree | 9229296296e4a89f45b3d416b30559ee75768d44 /gc.c | |
parent | 0a2587fa909c7db8974e0c39e1ee4d7ab544b9c9 (diff) | |
download | ruby-5e9a18ee5bb25078e11076f9dba96c9b3b0a06e6.tar.gz ruby-5e9a18ee5bb25078e11076f9dba96c9b3b0a06e6.tar.xz ruby-5e9a18ee5bb25078e11076f9dba96c9b3b0a06e6.zip |
* eval.c (avalue_splat): new function to do unary * (splat)
operator.
* eval.c (avalue_to_svalue,svalue_to_avalue,svalue_to_mrhs): do
not use implicit "to_ary" conversion.
* ext/curses/curses.c (GetWINDOW,GetMOUSE): add taint check.
* ext/curses/curses.c (curses_init_screen): ditto.
* ext/curses/curses.c (window_initialize): ditto.
* gc.c (os_each_obj): prohibit ObjectSpace#each_object in safe
mode ($SAFE >= 4).
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -705,6 +705,8 @@ rb_gc_mark(ptr) case NODE_YIELD: case NODE_COLON2: case NODE_ARGS: + case NODE_SPLAT: + case NODE_SVALUE: ptr = (VALUE)obj->as.node.u1.node; goto again; @@ -1377,6 +1379,7 @@ os_each_obj(argc, argv) { VALUE of; + rb_secure(4); if (rb_scan_args(argc, argv, "01", &of) == 0) { return os_live_obj(); } |