From 15cd4bd1e042cfa31cf5aee409cc7fcfe84081d2 Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Fri, 5 Aug 2022 18:53:55 +0200 Subject: [PATCH] Fixed incorrect buffer handling --- mxml.cxx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/mxml.cxx b/mxml.cxx index eaeb952..c7b4da2 100644 --- a/mxml.cxx +++ b/mxml.cxx @@ -2212,17 +2212,16 @@ int mxml_print_tree(char *buffer, int *buffer_size, PMXML_NODE tree) return FALSE; p = mxml_close_buffer(writer); - - mxml_strlcpy(buffer, p, *buffer_size); - len = strlen(p); - free(p); - p = NULL; + len = strlen(p) + 1; if (len > *buffer_size) { + free(p); *buffer_size = 0; return FALSE; } - *buffer_size -= len; + mxml_strlcpy(buffer, p, *buffer_size); + free(p); + *buffer_size = len; return TRUE; }