diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ext/syck/rubyext.c | 5 |
2 files changed, 9 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Thu Jul 31 02:21:39 2008 Yusuke Endoh <mame@tsg.ne.jp> + + * ext/syck/rubyext.c (rb_syck_compile): remove meaningless branch + that misleads into thinking that the variable sav may be + uninitialized. + Thu Jul 31 01:25:43 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * thread.c (rb_mutex_unlock_all): mutex is no longer a ruby object. diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index bdf3c8c79c..cb3ad260ec 100644 --- a/ext/syck/rubyext.c +++ b/ext/syck/rubyext.c @@ -104,7 +104,7 @@ rb_syck_compile(VALUE self, VALUE port) char *ret; VALUE bc; bytestring_t *sav = NULL; - void *data; + void *data = NULL; SyckParser *parser = syck_new_parser(); taint = syck_parser_assign_io(parser, &port); @@ -113,7 +113,8 @@ rb_syck_compile(VALUE self, VALUE port) syck_parser_implicit_typing( parser, 0 ); syck_parser_taguri_expansion( parser, 0 ); oid = syck_parse( parser ); - if (syck_lookup_sym( parser, oid, &data )) sav = data; + ASSERT(syck_lookup_sym( parser, oid, &data )); + sav = data; ret = S_ALLOCA_N( char, strlen( sav->buffer ) + 3 ); ret[0] = '\0'; |