]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3586. [buf] Handle errors in xmlDocDumpFormatMemoryEnc. [RT #33706]
authorMark Andrews <marka@isc.org>
Thu, 6 Jun 2013 00:55:08 +0000 (10:55 +1000)
committerMark Andrews <marka@isc.org>
Thu, 6 Jun 2013 01:00:05 +0000 (11:00 +1000)
(cherry picked from commit 7ee225cf90fd06de61682b442600af88b68b99db)

CHANGES
bin/named/statschannel.c

diff --git a/CHANGES b/CHANGES
index 7d266f3f507b428f97578989d7490757b25c1f8b..689fc2c36ea2e2e5eb2ff24fdff1abeb3ba022d6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+3586.  [buf]           Handle errors in xmlDocDumpFormatMemoryEnc. [RT #33706]
+
 3584.  [security]      Caching data from an incompletely signed zone could
                        trigger an assertion failure in resolver.c [RT #33690]
 
index bb642cc374bfce5d8fb36a0722cb1dfef708ee1d..c78f78044c08f66eda5d63f0428b72c814d32c2e 100644 (file)
@@ -1232,6 +1232,8 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) {
        xmlFreeTextWriter(writer);
 
        xmlDocDumpFormatMemoryEnc(doc, buf, buflen, "UTF-8", 0);
+       if (*buf == NULL)
+               goto error;
        xmlFreeDoc(doc);
        return (ISC_R_SUCCESS);
 
@@ -1426,6 +1428,8 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) {
        xmlFreeTextWriter(writer);
 
        xmlDocDumpFormatMemoryEnc(doc, buf, buflen, "UTF-8", 1);
+       if (*buf == NULL)
+               goto error;
        xmlFreeDoc(doc);
        return (ISC_R_SUCCESS);
 
@@ -1451,7 +1455,7 @@ render_index(const char *url, const char *querystring, void *arg,
             isc_buffer_t *b, isc_httpdfree_t **freecb,
             void **freecb_args)
 {
-       unsigned char *msg;
+       unsigned char *msg = NULL;
        int msglen;
        ns_server_t *server = arg;
        isc_result_t result;