diff --git a/CHANGES b/CHANGES index e8770530e3..44712112f0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +5572. [bug] Address potential double free in generatexml. + [GL #2420] + 5571. [bug] If a zone had a non-builtin named allow-update acl named failed to start. [GL #2413] diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c index bb46479b64..d2cfc12bf5 100644 --- a/bin/named/statschannel.c +++ b/bin/named/statschannel.c @@ -2336,12 +2336,12 @@ generatexml(named_server_t *server, uint32_t flags, int *buflen, TRY0(xmlTextWriterEndElement(writer)); /* /statistics */ TRY0(xmlTextWriterEndDocument(writer)); - xmlFreeTextWriter(writer); - xmlDocDumpFormatMemoryEnc(doc, buf, buflen, "UTF-8", 0); if (*buf == NULL) { goto cleanup; } + + xmlFreeTextWriter(writer); xmlFreeDoc(doc); return (ISC_R_SUCCESS);