]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: buffer: Simplify escape buffer allocations
authorPeter Krempa <pkrempa@redhat.com>
Thu, 24 Oct 2019 06:49:57 +0000 (08:49 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 24 Oct 2019 17:35:34 +0000 (19:35 +0200)
Replace combinations of xalloc_oversized and VIR_ALLOC_N_QUIET by using
g_malloc0_n which does the checking internally.

This conversion is done with a semantic difference and slightly higher
memory requirements as I've opted to allocate one chunk more than
necessary rather than trying to accomodate the NUL byte separately.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/util/virbuffer.c

index a2b5aa850825d7314006d5159040cea83463b26e..bcf9042573cc995464f813c5994d6fda5c7685bc 100644 (file)
@@ -467,11 +467,7 @@ virBufferEscapeString(virBufferPtr buf, const char *format, const char *str)
         return;
     }
 
-    if (xalloc_oversized(6, len) ||
-        VIR_ALLOC_N_QUIET(escaped, 6 * len + 1) < 0) {
-        virBufferSetError(buf, errno);
-        return;
-    }
+    escaped = g_malloc0_n(len + 1, 6);
 
     cur = str;
     out = escaped;
@@ -616,11 +612,7 @@ virBufferEscape(virBufferPtr buf, char escape, const char *toescape,
         return;
     }
 
-    if (xalloc_oversized(2, len) ||
-        VIR_ALLOC_N_QUIET(escaped, 2 * len + 1) < 0) {
-        virBufferSetError(buf, errno);
-        return;
-    }
+    escaped = g_malloc0_n(len + 1, 2);
 
     cur = str;
     out = escaped;
@@ -715,11 +707,8 @@ virBufferEscapeShell(virBufferPtr buf, const char *str)
 
     if (*str) {
         len = strlen(str);
-        if (xalloc_oversized(4, len) ||
-            VIR_ALLOC_N_QUIET(escaped, 4 * len + 3) < 0) {
-            virBufferSetError(buf, errno);
-            return;
-        }
+
+        escaped = g_malloc0_n(len + 1, 4);
     } else {
         virBufferAddLit(buf, "''");
         return;