svn commit: r349935 - head/usr.sbin/bhyve
Sean Chittenden
seanc at FreeBSD.org
Fri Jul 12 05:19:38 UTC 2019
Author: seanc (ports committer)
Date: Fri Jul 12 05:19:37 2019
New Revision: 349935
URL: https://svnweb.freebsd.org/changeset/base/349935
Log:
usr.sbin/bhyve: free resources when erroring out of pci_vtnet_init()
Coverity CID: 1402978
Approved by: vmaffione
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D20912
Modified:
head/usr.sbin/bhyve/pci_virtio_net.c
Modified: head/usr.sbin/bhyve/pci_virtio_net.c
==============================================================================
--- head/usr.sbin/bhyve/pci_virtio_net.c Fri Jul 12 05:19:06 2019 (r349934)
+++ head/usr.sbin/bhyve/pci_virtio_net.c Fri Jul 12 05:19:37 2019 (r349935)
@@ -411,6 +411,7 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst *
err = net_parsemac(vtopts, sc->vsc_config.mac);
if (err != 0) {
free(devname);
+ free(sc);
return (err);
}
mac_provided = 1;
@@ -419,8 +420,10 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst *
err = netbe_init(&sc->vsc_be, devname, pci_vtnet_rx_callback,
sc);
free(devname);
- if (err)
+ if (err) {
+ free(sc);
return (err);
+ }
sc->vsc_consts.vc_hv_caps |= netbe_get_cap(sc->vsc_be);
}
@@ -442,8 +445,10 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst *
sc->vsc_vs.vs_mtx = &sc->vsc_mtx;
/* use BAR 1 to map MSI-X table and PBA, if we're using MSI-X */
- if (vi_intr_init(&sc->vsc_vs, 1, fbsdrun_virtio_msix()))
+ if (vi_intr_init(&sc->vsc_vs, 1, fbsdrun_virtio_msix())) {
+ free(sc);
return (1);
+ }
/* use BAR 0 to map config regs in IO space */
vi_set_io_bar(&sc->vsc_vs, 0);
More information about the svn-src-all
mailing list