From ee98ec7197d5c8a8722c57f7dbdd8619fcad3ccb Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 7 Jan 2005 09:08:19 +0000 Subject: * gc.c (mark_locations_array): avoid core dump with -O3. [ruby-dev:25424] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ gc.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index a54445c2d..b98e67d65 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jan 7 18:03:35 2005 Tanaka Akira + + * gc.c (mark_locations_array): avoid core dump with -O3. + [ruby-dev:25424] + Thu Jan 6 20:31:07 2005 NAKAMURA Usaku * ext/zlib/zlib.c (zstream_end): should return value. (backported diff --git a/gc.c b/gc.c index 90774177e..c221773df 100644 --- a/gc.c +++ b/gc.c @@ -619,9 +619,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++; } -- cgit