[libvirt PATCH 07/12] util: netdev: use g_new0

Ján Tomko jtomko at redhat.com
Mon Oct 5 17:48:22 UTC 2020


Signed-off-by: Ján Tomko <jtomko at redhat.com>
---
 src/util/virnetdev.c             | 25 +++++++++----------------
 src/util/virnetdevbandwidth.c    | 22 ++++------------------
 src/util/virnetdevip.c           |  3 +--
 src/util/virnetdevmacvlan.c      |  6 ++----
 src/util/virnetdevtap.c          |  3 +--
 src/util/virnetdevvlan.c         |  4 +---
 src/util/virnetdevvportprofile.c |  7 ++-----
 7 files changed, 20 insertions(+), 50 deletions(-)

diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c
index 76aeeba22a..e711a6dc8a 100644
--- a/src/util/virnetdev.c
+++ b/src/util/virnetdev.c
@@ -1209,8 +1209,7 @@ virNetDevGetVirtualFunctions(const char *pfname,
                                   n_vfname, max_vfs) < 0)
         goto cleanup;
 
-    if (VIR_ALLOC_N(*vfname, *n_vfname) < 0)
-        goto cleanup;
+    *vfname = g_new0(char *, *n_vfname);
 
     for (i = 0; i < *n_vfname; i++) {
         g_autofree char *pciConfigAddr = NULL;
@@ -2039,8 +2038,7 @@ virNetDevReadNetConfig(const char *linkdev, int vf,
     }
 
     if (MACStr) {
-        if (VIR_ALLOC(*MAC) < 0)
-            goto cleanup;
+        *MAC = g_new0(virMacAddr, 1);
 
         if (virMacAddrParse(MACStr, *MAC) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -2051,8 +2049,7 @@ virNetDevReadNetConfig(const char *linkdev, int vf,
     }
 
     if (adminMACStr) {
-        if (VIR_ALLOC(*adminMAC) < 0)
-            goto cleanup;
+        *adminMAC = g_new0(virMacAddr, 1);
 
         if (virMacAddrParse(adminMACStr, *adminMAC) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -2064,10 +2061,8 @@ virNetDevReadNetConfig(const char *linkdev, int vf,
 
     if (vlanTag != -1) {
         /* construct a simple virNetDevVlan object with a single tag */
-        if (VIR_ALLOC(*vlan) < 0)
-            goto cleanup;
-        if (VIR_ALLOC((*vlan)->tag) < 0)
-            goto cleanup;
+        *vlan = g_new0(virNetDevVlan, 1);
+        (*vlan)->tag = g_new0(unsigned int, 1);
         (*vlan)->nTags = 1;
         (*vlan)->tag[0] = vlanTag;
     }
@@ -2664,8 +2659,8 @@ static int virNetDevGetMcastList(const char *ifname,
 
     cur = buf;
     while (cur) {
-        if (!entry && VIR_ALLOC(entry) < 0)
-                return -1;
+        if (!entry)
+            entry = g_new0(virNetDevMcastEntry, 1);
 
         next = strchr(cur, '\n');
         if (next)
@@ -2709,8 +2704,7 @@ static int virNetDevGetMulticastTable(const char *ifname,
         goto cleanup;
 
     if (mcast.nentries > 0) {
-        if (VIR_ALLOC_N(filter->multicast.table, mcast.nentries) < 0)
-            goto cleanup;
+        filter->multicast.table = g_new0(virMacAddr, mcast.nentries);
 
         for (i = 0; i < mcast.nentries; i++) {
             virMacAddrSet(&filter->multicast.table[i],
@@ -2733,8 +2727,7 @@ virNetDevRxFilterNew(void)
 {
     virNetDevRxFilterPtr filter;
 
-    if (VIR_ALLOC(filter) < 0)
-        return NULL;
+    filter = g_new0(virNetDevRxFilter, 1);
     return filter;
 }
 
diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c
index 5fd7186760..c8eb5cfc79 100644
--- a/src/util/virnetdevbandwidth.c
+++ b/src/util/virnetdevbandwidth.c
@@ -442,39 +442,25 @@ int
 virNetDevBandwidthCopy(virNetDevBandwidthPtr *dest,
                        const virNetDevBandwidth *src)
 {
-    int ret = -1;
-
     *dest = NULL;
     if (!src) {
         /* nothing to be copied */
         return 0;
     }
 
-    if (VIR_ALLOC(*dest) < 0)
-        goto cleanup;
+    *dest = g_new0(virNetDevBandwidth, 1);
 
     if (src->in) {
-        if (VIR_ALLOC((*dest)->in) < 0)
-            goto cleanup;
+        (*dest)->in = g_new0(virNetDevBandwidthRate, 1);
         memcpy((*dest)->in, src->in, sizeof(*src->in));
     }
 
     if (src->out) {
-        if (VIR_ALLOC((*dest)->out) < 0) {
-            VIR_FREE((*dest)->in);
-            goto cleanup;
-        }
+        (*dest)->out = g_new0(virNetDevBandwidthRate, 1);
         memcpy((*dest)->out, src->out, sizeof(*src->out));
     }
 
-    ret = 0;
-
- cleanup:
-    if (ret < 0) {
-        virNetDevBandwidthFree(*dest);
-        *dest = NULL;
-    }
-    return ret;
+    return 0;
 }
 
 bool
diff --git a/src/util/virnetdevip.c b/src/util/virnetdevip.c
index a69567da6f..fc7808cbaa 100644
--- a/src/util/virnetdevip.c
+++ b/src/util/virnetdevip.c
@@ -180,8 +180,7 @@ virNetDevIPAddrAdd(const char *ifname,
     if (VIR_SOCKET_ADDR_FAMILY(addr) == AF_INET &&
         !(peer && VIR_SOCKET_ADDR_VALID(peer))) {
         /* compute a broadcast address if this is IPv4 */
-        if (VIR_ALLOC(broadcast) < 0)
-            return -1;
+        broadcast = g_new0(virSocketAddr, 1);
 
         if (virSocketAddrBroadcastByPrefix(addr, prefix, broadcast) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
index f301a9e96c..72f0d67086 100644
--- a/src/util/virnetdevmacvlan.c
+++ b/src/util/virnetdevmacvlan.c
@@ -726,11 +726,9 @@ virNetDevMacVLanVPortProfileRegisterCallback(const char *ifname,
     virNetlinkCallbackDataPtr calld = NULL;
 
     if (virtPortProfile && virNetlinkEventServiceIsRunning(NETLINK_ROUTE)) {
-        if (VIR_ALLOC(calld) < 0)
-            goto error;
+        calld = g_new0(struct virNetlinkCallbackData, 1);
         calld->cr_ifname = g_strdup(ifname);
-        if (VIR_ALLOC(calld->virtPortProfile) < 0)
-            goto error;
+        calld->virtPortProfile = g_new0(virNetDevVPortProfile, 1);
         memcpy(calld->virtPortProfile, virtPortProfile, sizeof(*virtPortProfile));
         virMacAddrSet(&calld->macaddress, macaddress);
         calld->linkdev = g_strdup(linkdev);
diff --git a/src/util/virnetdevtap.c b/src/util/virnetdevtap.c
index 1738f48a5f..198607b5bb 100644
--- a/src/util/virnetdevtap.c
+++ b/src/util/virnetdevtap.c
@@ -165,8 +165,7 @@ virNetDevTapGetRealDeviceName(char *ifname G_GNUC_UNUSED)
         return NULL;
     }
 
-    if (VIR_ALLOC_N(ret, len) < 0)
-        return NULL;
+    ret = g_new0(char, len);
 
     if (sysctl(name, 6, ret, &len, 0, 0) < 0) {
         virReportSystemError(errno,
diff --git a/src/util/virnetdevvlan.c b/src/util/virnetdevvlan.c
index 2076cc48dc..154d92497c 100644
--- a/src/util/virnetdevvlan.c
+++ b/src/util/virnetdevvlan.c
@@ -83,9 +83,7 @@ virNetDevVlanCopy(virNetDevVlanPtr dst, const virNetDevVlan *src)
     if (!src || src->nTags == 0)
         return 0;
 
-    if (VIR_ALLOC_N(dst->tag, src->nTags) < 0)
-        return -1;
-
+    dst->tag = g_new0(unsigned int, src->nTags);
     dst->trunk = src->trunk;
     dst->nTags = src->nTags;
     dst->nativeMode = src->nativeMode;
diff --git a/src/util/virnetdevvportprofile.c b/src/util/virnetdevvportprofile.c
index 5dae8aa57d..5d6c055b32 100644
--- a/src/util/virnetdevvportprofile.c
+++ b/src/util/virnetdevvportprofile.c
@@ -129,9 +129,7 @@ int virNetDevVPortProfileCopy(virNetDevVPortProfilePtr *dst, const virNetDevVPor
         return 0;
     }
 
-    if (VIR_ALLOC(*dst) < 0)
-        return -1;
-
+    *dst = g_new0(virNetDevVPortProfile, 1);
     memcpy(*dst, src, sizeof(*src));
     return 0;
 }
@@ -431,8 +429,7 @@ int virNetDevVPortProfileMerge3(virNetDevVPortProfilePtr *result,
     }
 
     /* at least one of the source profiles is non-empty */
-    if (VIR_ALLOC(*result) < 0)
-        return ret;
+    *result = g_new0(virNetDevVPortProfile, 1);
 
     /* start with the interface's profile. There are no pointers in a
      * virtualPortProfile, so a shallow copy is sufficient.
-- 
2.26.2




More information about the libvir-list mailing list