diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-10 15:14:40 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-10 15:14:40 +0000 |
commit | 95b3da63f1daa29666c3ee1d703e9ad944f34b25 (patch) | |
tree | 4911e63f4cc420619bdae1c0e79670d2246c4097 /marshal.c | |
parent | 89afd642aa8a28915f224bba8b475140268b7a64 (diff) |
* marshal.c (marshal_dump, marshal_load): prevent from GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
-rw-r--r-- | marshal.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -897,7 +897,7 @@ marshal_dump(int argc, VALUE *argv) VALUE obj, port, a1, a2; int limit = -1; struct dump_arg *arg; - VALUE wrapper; + volatile VALUE wrapper; port = Qnil; rb_scan_args(argc, argv, "12", &obj, &a1, &a2); @@ -1737,7 +1737,8 @@ marshal_load(int argc, VALUE *argv) { VALUE port, proc; int major, minor, taint = FALSE; - VALUE v, wrapper; + VALUE v; + volatile VALUE wrapper; struct load_arg *arg; rb_scan_args(argc, argv, "11", &port, &proc); |