src/conf/domain_conf.c | 3 +-- src/libxl/xen_common.c | 4 +--- src/libxl/xen_xl.c | 4 +--- src/lxc/lxc_native.c | 4 ---- src/vbox/vbox_common.c | 12 +----------- 5 files changed, 4 insertions(+), 23 deletions(-)
virDomainHostdevDefNew() has been using g_new0() for a while now. As it
calls abort() on OOM, it's not necessary to check whether
the return value is NULL.
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
---
src/conf/domain_conf.c | 3 +--
src/libxl/xen_common.c | 4 +---
src/libxl/xen_xl.c | 4 +---
src/lxc/lxc_native.c | 4 ----
src/vbox/vbox_common.c | 12 +-----------
5 files changed, 4 insertions(+), 23 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5630a469be..d4ce85b3a1 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -13316,8 +13316,7 @@ virDomainHostdevDefParseXML(virDomainXMLOption *xmlopt,
ctxt->node = node;
- if (!(def = virDomainHostdevDefNew()))
- goto error;
+ def = virDomainHostdevDefNew();
if (virXMLPropEnumDefault(node, "mode", virDomainHostdevModeTypeFromString,
VIR_XML_PROP_NONE,
diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c
index b7ec552631..cbcdbf5a00 100644
--- a/src/libxl/xen_common.c
+++ b/src/libxl/xen_common.c
@@ -445,9 +445,7 @@ xenParsePCI(char *entry)
}
}
- if (!(hostdev = virDomainHostdevDefNew()))
- return NULL;
-
+ hostdev = virDomainHostdevDefNew();
hostdev->managed = false;
hostdev->writeFiltering = filtered;
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c
index 53f6871efc..482b151666 100644
--- a/src/libxl/xen_xl.c
+++ b/src/libxl/xen_xl.c
@@ -924,9 +924,7 @@ xenParseXLUSB(virConf *conf, virDomainDef *def)
key = nextkey;
}
- if (!(hostdev = virDomainHostdevDefNew()))
- return -1;
-
+ hostdev = virDomainHostdevDefNew();
hostdev->managed = false;
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB;
hostdev->source.subsys.u.usb.bus = busNum;
diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index c0011e0600..7700804429 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -377,10 +377,6 @@ static virDomainHostdevDef *
lxcCreateHostdevDef(const char *data)
{
virDomainHostdevDef *hostdev = virDomainHostdevDefNew();
-
- if (!hostdev)
- return NULL;
-
hostdev->mode = VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES;
hostdev->source.caps.type = VIR_DOMAIN_HOSTDEV_CAPS_TYPE_NET;
hostdev->source.caps.u.net.ifname = g_strdup(data);
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index de3c9989a5..2121d7e2d1 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -3087,11 +3087,8 @@ vboxHostDeviceGetXMLDesc(struct _vboxDriver *data, virDomainDef *def, IMachine *
/* Alloc mem needed for the filters now */
def->hostdevs = g_new0(virDomainHostdevDef *, def->nhostdevs);
- for (i = 0; i < def->nhostdevs; i++) {
+ for (i = 0; i < def->nhostdevs; i++)
def->hostdevs[i] = virDomainHostdevDefNew();
- if (!def->hostdevs[i])
- goto release_hostdevs;
- }
for (i = 0; i < deviceFilters.count; i++) {
PRBool active = PR_FALSE;
@@ -3138,13 +3135,6 @@ vboxHostDeviceGetXMLDesc(struct _vboxDriver *data, virDomainDef *def, IMachine *
gVBoxAPI.UArray.vboxArrayRelease(&deviceFilters);
VBOX_RELEASE(USBCommon);
return;
-
- release_hostdevs:
- for (i = 0; i < def->nhostdevs; i++)
- virDomainHostdevDefFree(def->hostdevs[i]);
- VIR_FREE(def->hostdevs);
-
- goto release_filters;
}
--
2.47.1
On 2/27/25 7:46 AM, Roman Bogorodskiy wrote:
> virDomainHostdevDefNew() has been using g_new0() for a while now. As it
> calls abort() on OOM, it's not necessary to check whether
> the return value is NULL.
>
> Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
Reviewed-by: Laine Stump <laine@redhat.com>
(I had to check to make sure this wasn't in the 17 patch series I sent
in earlier this month (but haven't pushed yet) - turns out I had
found/changed virDomainHostdevDef*Insert*() to return void. (I'll be
pushing all of those as soon as this release is done - they didn't get
reviewed until after RC1 was tagged, and they weren't bug fixes...)
> ---
> src/conf/domain_conf.c | 3 +--
> src/libxl/xen_common.c | 4 +---
> src/libxl/xen_xl.c | 4 +---
> src/lxc/lxc_native.c | 4 ----
> src/vbox/vbox_common.c | 12 +-----------
> 5 files changed, 4 insertions(+), 23 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 5630a469be..d4ce85b3a1 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -13316,8 +13316,7 @@ virDomainHostdevDefParseXML(virDomainXMLOption *xmlopt,
>
> ctxt->node = node;
>
> - if (!(def = virDomainHostdevDefNew()))
> - goto error;
> + def = virDomainHostdevDefNew();
>
> if (virXMLPropEnumDefault(node, "mode", virDomainHostdevModeTypeFromString,
> VIR_XML_PROP_NONE,
> diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c
> index b7ec552631..cbcdbf5a00 100644
> --- a/src/libxl/xen_common.c
> +++ b/src/libxl/xen_common.c
> @@ -445,9 +445,7 @@ xenParsePCI(char *entry)
> }
> }
>
> - if (!(hostdev = virDomainHostdevDefNew()))
> - return NULL;
> -
> + hostdev = virDomainHostdevDefNew();
> hostdev->managed = false;
> hostdev->writeFiltering = filtered;
> hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
> diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c
> index 53f6871efc..482b151666 100644
> --- a/src/libxl/xen_xl.c
> +++ b/src/libxl/xen_xl.c
> @@ -924,9 +924,7 @@ xenParseXLUSB(virConf *conf, virDomainDef *def)
> key = nextkey;
> }
>
> - if (!(hostdev = virDomainHostdevDefNew()))
> - return -1;
> -
> + hostdev = virDomainHostdevDefNew();
> hostdev->managed = false;
> hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB;
> hostdev->source.subsys.u.usb.bus = busNum;
> diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
> index c0011e0600..7700804429 100644
> --- a/src/lxc/lxc_native.c
> +++ b/src/lxc/lxc_native.c
> @@ -377,10 +377,6 @@ static virDomainHostdevDef *
> lxcCreateHostdevDef(const char *data)
> {
> virDomainHostdevDef *hostdev = virDomainHostdevDefNew();
> -
> - if (!hostdev)
> - return NULL;
> -
> hostdev->mode = VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES;
> hostdev->source.caps.type = VIR_DOMAIN_HOSTDEV_CAPS_TYPE_NET;
> hostdev->source.caps.u.net.ifname = g_strdup(data);
> diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
> index de3c9989a5..2121d7e2d1 100644
> --- a/src/vbox/vbox_common.c
> +++ b/src/vbox/vbox_common.c
> @@ -3087,11 +3087,8 @@ vboxHostDeviceGetXMLDesc(struct _vboxDriver *data, virDomainDef *def, IMachine *
> /* Alloc mem needed for the filters now */
> def->hostdevs = g_new0(virDomainHostdevDef *, def->nhostdevs);
>
> - for (i = 0; i < def->nhostdevs; i++) {
> + for (i = 0; i < def->nhostdevs; i++)
> def->hostdevs[i] = virDomainHostdevDefNew();
> - if (!def->hostdevs[i])
> - goto release_hostdevs;
> - }
>
> for (i = 0; i < deviceFilters.count; i++) {
> PRBool active = PR_FALSE;
> @@ -3138,13 +3135,6 @@ vboxHostDeviceGetXMLDesc(struct _vboxDriver *data, virDomainDef *def, IMachine *
> gVBoxAPI.UArray.vboxArrayRelease(&deviceFilters);
> VBOX_RELEASE(USBCommon);
> return;
> -
> - release_hostdevs:
> - for (i = 0; i < def->nhostdevs; i++)
> - virDomainHostdevDefFree(def->hostdevs[i]);
> - VIR_FREE(def->hostdevs);
> -
> - goto release_filters;
> }
>
>
© 2016 - 2026 Red Hat, Inc.