]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: xml: Add virXMLBufferCreate wrapper
authorPeter Krempa <pkrempa@redhat.com>
Tue, 23 Feb 2021 16:57:13 +0000 (17:57 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 2 Mar 2021 08:50:19 +0000 (09:50 +0100)
'xmlBufferCreate' returns NULL only on allocation failure. Add a wrapper
which will call 'abort()' in such case in a centralised spot. It doesn't
make much sense to continue execution from here.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
src/conf/domain_conf.c
src/conf/network_conf.c
src/libvirt_private.syms
src/util/virxml.c
src/util/virxml.h
src/vmx/vmx.c

index eb9ce838a3da1077d3a6f807edc48762da4e1299..4179c88fcde4eb6738fc3993001041be68e93316 100644 (file)
@@ -28691,10 +28691,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def,
          * Thankfully, libxml maps what looks like globals into
          * thread-local uses, so we are thread-safe.  */
         xmlIndentTreeOutput = 1;
-        if (!(xmlbuf = xmlBufferCreate())) {
-            virReportOOMError();
-            return -1;
-        }
+        xmlbuf = virXMLBufferCreate();
 
         if (xmlNodeDump(xmlbuf, def->metadata->doc, def->metadata,
                         virBufferGetIndent(buf) / 2, 1) < 0) {
index f32710b781c15374b4a6f0c98193eaf32eb696cc..69d99a60e0ffdeeee3bc1987683bccaf548f76e9 100644 (file)
@@ -2513,10 +2513,7 @@ virNetworkDefFormatBuf(virBufferPtr buf,
          * Thankfully, libxml maps what looks like globals into
          * thread-local uses, so we are thread-safe.  */
         xmlIndentTreeOutput = 1;
-        if (!(xmlbuf = xmlBufferCreate())) {
-            virReportOOMError();
-            return -1;
-        }
+        xmlbuf = virXMLBufferCreate();
 
         if (xmlNodeDump(xmlbuf, def->metadata->doc, def->metadata,
                         virBufferGetIndent(buf) / 2, 1) < 0) {
index 04afe03c549cb6e9bdc4001ed0e16de8177bdb2c..79fee2f0b957cac72fa92569248b9921c0dd1575 100644 (file)
@@ -3531,6 +3531,7 @@ virVsockSetGuestCid;
 
 # util/virxml.h
 virParseScaledValue;
+virXMLBufferCreate;
 virXMLCheckIllegalChars;
 virXMLExtractNamespaceXML;
 virXMLFormatElement;
index 035425194190628b29bd4225107d477f08419d3d..3fed2b2a6efe0b65dae366d48c2d28ecd979d58e 100644 (file)
@@ -941,12 +941,7 @@ char *
 virXMLNodeToString(xmlDocPtr doc,
                    xmlNodePtr node)
 {
-    g_autoptr(xmlBuffer) xmlbuf = NULL;
-
-    if (!(xmlbuf = xmlBufferCreate())) {
-        virReportOOMError();
-        return NULL;
-    }
+    g_autoptr(xmlBuffer) xmlbuf = virXMLBufferCreate();
 
     if (xmlNodeDump(xmlbuf, doc, node, 0, 1) == 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1467,3 +1462,15 @@ virParseScaledValue(const char *xpath,
     *val = bytes;
     return 1;
 }
+
+
+xmlBufferPtr
+virXMLBufferCreate(void)
+{
+    xmlBufferPtr ret;
+
+    if (!(ret = xmlBufferCreate()))
+        abort();
+
+    return ret;
+}
index e696dd25f50ff5b140a7a7cc348ef0fe59d9b551..24a2234506195abbf4923b47f9281fcacbec05bb 100644 (file)
@@ -286,3 +286,6 @@ int virParseScaledValue(const char *xpath,
                         unsigned long long scale,
                         unsigned long long max,
                         bool required);
+
+xmlBufferPtr
+virXMLBufferCreate(void);
index db535ba260d9dc6e3359ea9cb185b8dd9f95af9b..e6c0900a6517f94a47918023998969a27c51563b 100644 (file)
@@ -771,7 +771,7 @@ virVMXConvertToUTF8(const char *encoding, const char *string)
     char *result = NULL;
     xmlCharEncodingHandlerPtr handler;
     g_autoptr(xmlBuffer) input = NULL;
-    g_autoptr(xmlBuffer) utf8 = NULL;
+    g_autoptr(xmlBuffer) utf8 = virXMLBufferCreate();
 
     handler = xmlFindCharEncodingHandler(encoding);
 
@@ -781,8 +781,7 @@ virVMXConvertToUTF8(const char *encoding, const char *string)
         return NULL;
     }
 
-    if (!(input = xmlBufferCreateStatic((char *)string, strlen(string))) ||
-        !(utf8 = xmlBufferCreate())) {
+    if (!(input = xmlBufferCreateStatic((char *)string, strlen(string)))) {
         virReportOOMError();
         goto cleanup;
     }