diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-01-07 09:08:19 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-01-07 09:08:19 +0000 |
commit | db4cb5545b0d56dd022e07bf45a4bdfc84ea69ed (patch) | |
tree | 60c89d0eec933db0db19badf2da457eafd1c541c /gc.c | |
parent | d35f41076143f440e59a2d99aca16f88ac75cb67 (diff) | |
download | ruby-db4cb5545b0d56dd022e07bf45a4bdfc84ea69ed.tar.gz |
* gc.c (mark_locations_array): avoid core dump with -O3.
[ruby-dev:25424]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -617,9 +617,11 @@ mark_locations_array(x, n) register VALUE *x; register long n; { + VALUE v; while (n--) { - if (is_pointer_to_heap((void *)*x)) { - gc_mark(*x, 0); + v = *x; + if (is_pointer_to_heap((void *)v)) { + gc_mark(v, 0); } x++; } |