[libvirt PATCH 1/2] conf: fix g_new0 allocation

Pavel Hrdina phrdina at redhat.com
Mon Oct 12 18:13:28 UTC 2020


Fixes commit <a5d88ffe0ad9b5d5314ab0058c5b363f9f79b8ee> which changed
allocation from VIR_ALLOC_N to g_new0 but missed some +1 on number of
allocated elements.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 src/conf/virinterfaceobj.c  | 2 +-
 src/conf/virnetworkobj.c    | 4 ++--
 src/conf/virnodedeviceobj.c | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/conf/virinterfaceobj.c b/src/conf/virinterfaceobj.c
index 5a5fd65e14..e08b4b9b0f 100644
--- a/src/conf/virinterfaceobj.c
+++ b/src/conf/virinterfaceobj.c
@@ -320,7 +320,7 @@ virInterfaceObjListExport(virConnectPtr conn,
 
     virObjectRWLockRead(ifaceobjs);
     if (ifaces)
-        data.ifaces = g_new0(virInterfacePtr, virHashSize(ifaceobjs->objsName));
+        data.ifaces = g_new0(virInterfacePtr, virHashSize(ifaceobjs->objsName) + 1);
 
     virHashForEach(ifaceobjs->objsName, virInterfaceObjListExportCallback, &data);
 
diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c
index 1fcfa9cdc2..a2835ebf8e 100644
--- a/src/conf/virnetworkobj.c
+++ b/src/conf/virnetworkobj.c
@@ -1407,7 +1407,7 @@ virNetworkObjListExport(virConnectPtr conn,
 
     virObjectRWLockRead(netobjs);
     if (nets)
-        data.nets = g_new0(virNetworkPtr, virHashSize(netobjs->objs));
+        data.nets = g_new0(virNetworkPtr, virHashSize(netobjs->objs) + 1);
 
     virHashForEach(netobjs->objs, virNetworkObjListExportCallback, &data);
 
@@ -1801,7 +1801,7 @@ virNetworkObjPortListExport(virNetworkPtr net,
     if (ports) {
         *ports = NULL;
 
-        data.ports = g_new0(virNetworkPortPtr, virHashSize(obj->ports));
+        data.ports = g_new0(virNetworkPortPtr, virHashSize(obj->ports) + 1);
     }
 
     virHashForEach(obj->ports, virNetworkObjPortListExportCallback, &data);
diff --git a/src/conf/virnodedeviceobj.c b/src/conf/virnodedeviceobj.c
index 28905c67b6..9af80b8036 100644
--- a/src/conf/virnodedeviceobj.c
+++ b/src/conf/virnodedeviceobj.c
@@ -931,7 +931,7 @@ virNodeDeviceObjListExport(virConnectPtr conn,
 
     virObjectRWLockRead(devs);
     if (devices)
-        data.devices = g_new0(virNodeDevicePtr, virHashSize(devs->objs));
+        data.devices = g_new0(virNodeDevicePtr, virHashSize(devs->objs) + 1);
 
     virHashForEach(devs->objs, virNodeDeviceObjListExportCallback, &data);
     virObjectRWUnlock(devs);
-- 
2.26.2




More information about the libvir-list mailing list