From bbcd49c836f34b2e0f0d2ce85709c28daa0bc560 Mon Sep 17 00:00:00 2001 From: ocean Date: Tue, 20 Dec 2005 04:13:26 +0000 Subject: * ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62) [ruby-dev:27839] * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is NULL or not before S_FREE. * st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert in gram.c to insert node from rb_syck_bad_anchor_handler into SyckParser's hash table. if GC occurs in st_insert, it's not under SyckParser's mark system yet. so RString can be released wrongly. [ruby-dev:28057] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 8bb6f1900..8d8be846f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +Tue Dec 20 13:11:59 2005 Hirokazu Yamamoto + + * ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62) + [ruby-dev:27839] + + * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is + NULL or not before S_FREE. + + * st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert + in gram.c to insert node from rb_syck_bad_anchor_handler into + SyckParser's hash table. if GC occurs in st_insert, it's not under + SyckParser's mark system yet. so RString can be released wrongly. + [ruby-dev:28057] + Tue Dec 20 12:53:23 2005 why the lucky stiff * ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility -- cgit