[MacRuby] #858: "rake spec:ci" crashes.

MacRuby ruby-noreply at macosforge.org
Thu Aug 26 06:34:33 PDT 2010


#858: "rake spec:ci" crashes.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:  0.7-blocker          
----------------------------------+-----------------------------------------

Comment(by watson1978@…):

 Leaks?
 {{{
 #!diff
 diff --git a/string.c b/string.c
 index 83c8e6f..efe6348 100644
 --- a/string.c
 +++ b/string.c
 @@ -1325,6 +1325,7 @@ str_transcode(rb_str_t *self, rb_encoding_t
 *src_encoding, rb_encoding_t *dst_en
      for (;;) {
         UChar *utf16;
         long utf16_length;
 +       int need_free = false;
         // if the encoding is native UTF-16 it's always stored in UChars
         // but it can contain invalid bytes
         if (str_is_stored_in_uchars(self) &&
 !NATIVE_UTF16_ENC(self->encoding)) {
 @@ -1405,6 +1406,7 @@ str_transcode(rb_str_t *self, rb_encoding_t
 *src_encoding, rb_encoding_t *dst_en
                     }
                     utf16_length = new_utf16_length;
                     utf16 = new_utf16;
 +                   need_free = true;
                 }
             }

 @@ -1477,6 +1479,10 @@ str_transcode(rb_str_t *self, rb_encoding_t
 *src_encoding, rb_encoding_t *dst_en
             pos_in_src += invalid_bytes_length;
         }

 +       if (need_free) {
 +           xfree(utf16);
 +       }
 +
         if (pos_in_src == self->length_in_bytes) {
             break;
         }
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/858#comment:22>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list