[xbuild] Throw ArgumentNullException if target name is null
[mono.git] / eglib / src / gstring.c
index 9b08c8c26aee30a8f76e3576b3fbaf8f53c5e4c2..cc2975d4d86ed104e14e850349eb1819ec862fc4 100644 (file)
@@ -41,10 +41,14 @@ g_string_new_len (const gchar *init, gssize len)
 {
        GString *ret = g_new (GString, 1);
 
-       ret->len = len < 0 ? strlen(init) : len;
+       if (init == NULL)
+               ret->len = 0;
+       else
+               ret->len = len < 0 ? strlen(init) : len;
        ret->allocated_len = MAX(ret->len + 1, 16);
        ret->str = g_malloc(ret->allocated_len);
-       memcpy(ret->str, init, ret->len);
+       if (init)
+               memcpy(ret->str, init, ret->len);
        ret->str[ret->len] = 0;
 
        return ret;
@@ -159,7 +163,7 @@ g_string_append_printf (GString *string, const gchar *format, ...)
        va_end (args);
        g_string_append (string, ret);
 
-       free (ret);
+       g_free (ret);
 }
 
 void