Fixed incorrect buffer handling

This commit is contained in:
Stefan Ritt 2022-08-05 18:53:55 +02:00
parent a97f18a2c0
commit 15cd4bd1e0

View File

@ -2212,17 +2212,16 @@ int mxml_print_tree(char *buffer, int *buffer_size, PMXML_NODE tree)
return FALSE; return FALSE;
p = mxml_close_buffer(writer); p = mxml_close_buffer(writer);
len = strlen(p) + 1;
mxml_strlcpy(buffer, p, *buffer_size);
len = strlen(p);
free(p);
p = NULL;
if (len > *buffer_size) { if (len > *buffer_size) {
free(p);
*buffer_size = 0; *buffer_size = 0;
return FALSE; return FALSE;
} }
*buffer_size -= len; mxml_strlcpy(buffer, p, *buffer_size);
free(p);
*buffer_size = len;
return TRUE; return TRUE;
} }