]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Replace improper use of g_malloc(0) with g_new0
authorPeter Krempa <pkrempa@redhat.com>
Fri, 25 Oct 2024 07:41:21 +0000 (09:41 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 1 Nov 2024 14:52:18 +0000 (15:52 +0100)
Completely remove use of g_malloc (without zeroing of the allocated
memory) and forbid further use.

Replace use of g_malloc0 in cases where the variable holding the pointer
has proper type.

In all of the above cases we can use g_new0 instead.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
build-aux/syntax-check.mk
src/util/virpcivpd.c
tools/wireshark/src/packet-libvirt.c

index 0759372b2b815fc755cf4914fd0fc2d1d0882e0d..6ed2a61192e739d22b6ccfd89fb7d33c1af320a3 100644 (file)
@@ -92,8 +92,8 @@ sc_prohibit_raw_virclassnew:
 
 # Avoid raw malloc and free, except in documentation comments.
 sc_prohibit_raw_allocation:
-       @prohibit='^.[^*].*\<((m|c|re)alloc|free) *\([^)]' \
-       halt='use VIR_ macros from viralloc.h instead of malloc/free' \
+       @prohibit='^.[^*].*\<((m|c|re)alloc|free|g_malloc) *\([^)]' \
+       halt='use g_new0/g_malloc0/g_free instead of malloc/free/g_malloc' \
          $(_sc_search_regexp)
 
 # Avoid functions that can lead to double-close bugs.
index 02d405f0387d6dcc89c3360b76decb998f8a5887..688d1a3fcb954619db36f41a4a34beece3feb234 100644 (file)
@@ -414,7 +414,7 @@ virPCIVPDParseVPDLargeResourceFields(int vpdFileFd,
                                      virPCIVPDResource *res)
 {
     /* A buffer of up to one resource record field size (plus a zero byte) is needed. */
-    g_autofree uint8_t *buf = g_malloc0(PCI_VPD_MAX_FIELD_SIZE + 1);
+    g_autofree uint8_t *buf = g_new0(uint8_t, PCI_VPD_MAX_FIELD_SIZE + 1);
     uint16_t fieldDataLen = 0, bytesToRead = 0;
     uint16_t fieldPos = resPos;
     bool hasChecksum = false;
@@ -499,7 +499,7 @@ virPCIVPDParseVPDLargeResourceFields(int vpdFileFd,
                 break;
 
             case VIR_PCI_VPD_RESOURCE_FIELD_VALUE_FORMAT_BINARY:
-                fieldValue = g_malloc(fieldDataLen);
+                fieldValue = g_new0(char, fieldDataLen);
                 memcpy(fieldValue, buf, fieldDataLen);
                 break;
 
@@ -570,7 +570,7 @@ virPCIVPDParseVPDLargeResourceString(int vpdFileFd, uint16_t resPos,
     g_autofree char *resValue = NULL;
 
     /* The resource value is not NULL-terminated so add one more byte. */
-    g_autofree char *buf = g_malloc0(resDataLen + 1);
+    g_autofree char *buf = g_new0(char, resDataLen + 1);
 
     if (virPCIVPDReadVPDBytes(vpdFileFd, (uint8_t *)buf, resDataLen, resPos, csum) < 0)
         return -1;
index ee20e3734d742f350b1a6c44760d05ae5e0ac49c..da2aabd98affc633bf7f45030f7aac9a0e3f69d1 100644 (file)
@@ -166,7 +166,7 @@ dissect_xdr_opaque(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
     gboolean rc;
     guint8 *val;
 
-    val = g_malloc(size);
+    val = g_new0(guint8, size);
     start = xdr_getpos(xdrs);
     if ((rc = xdr_opaque(xdrs, (caddr_t)val, size))) {
         gint len = xdr_getpos(xdrs) - start;