Author: leo
Date: Wed Nov  9 12:13:11 2005
New Revision: 9867

Modified:
   trunk/encodings/utf16.c
Log:
fix unguarded usage of UChar

Modified: trunk/encodings/utf16.c
==============================================================================
--- trunk/encodings/utf16.c     (original)
+++ trunk/encodings/utf16.c     Wed Nov  9 12:13:11 2005
@@ -105,13 +105,14 @@ copy_to_encoding(Interp *interpreter, ST
      */
     dest = new_string_header(interpreter, 0);
     src_len = src->strlen;
-    Parrot_allocate_string(interpreter, dest, sizeof(UChar) * src_len);
     dest->strlen   = src_len;
     dest->charset  = Parrot_unicode_charset_ptr;
     dest->encoding = Parrot_utf16_encoding_ptr;
+    Parrot_allocate_string(interpreter, dest, 0);
     if (!src_len)
         return dest;
 #if PARROT_HAS_ICU
+    Parrot_allocate_string(interpreter, dest, sizeof(UChar) * src_len);
     err = U_ZERO_ERROR;
     u_strFromUTF8(dest->strstart, src_len,
             &dest_len, src->strstart, src->bufused, &err);

Reply via email to