--- a/libpurple/xmlnode.c Wed Oct 02 18:01:33 2019 -0400 +++ b/libpurple/xmlnode.c Wed Oct 02 19:04:34 2019 -0400 @@ -490,7 +490,7 @@ static char * purple_xmlnode_to_str_helper(const PurpleXmlNode *node, int *len, gboolean formatting, int depth) { - GString *text = g_string_new(""); + GString *text; const char *prefix; const PurpleXmlNode *c; char *node_name, *esc, *esc2, *tab = NULL; @@ -498,6 +498,8 @@ g_return_val_if_fail(node != NULL, NULL); + text = g_string_new(""); + if(pretty && depth) { tab = g_strnfill(depth, '\t'); text = g_string_append(text, tab);