[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