svn commit: r338164 - head/usr.sbin/bhyve

Marcelo Araujo araujo at FreeBSD.org
Tue Aug 21 23:11:27 UTC 2018


Author: araujo
Date: Tue Aug 21 23:11:26 2018
New Revision: 338164
URL: https://svnweb.freebsd.org/changeset/base/338164

Log:
  Fix resource leak when using strdup(3).
  
  Reported by:	Coverity
  CID:		1394929
  Sponsored by:	iXsystems Inc.

Modified:
  head/usr.sbin/bhyve/pci_nvme.c

Modified: head/usr.sbin/bhyve/pci_nvme.c
==============================================================================
--- head/usr.sbin/bhyve/pci_nvme.c	Tue Aug 21 23:03:02 2018	(r338163)
+++ head/usr.sbin/bhyve/pci_nvme.c	Tue Aug 21 23:11:26 2018	(r338164)
@@ -1726,6 +1726,7 @@ pci_nvme_parse_opts(struct pci_nvme_softc *sc, char *o
 			sc->nvstore.sectsz_bits = 12;
 			if (sc->nvstore.ctx == NULL) {
 				perror("Unable to allocate RAM");
+				free(uopt);
 				return (-1);
 			}
 		} else if (optidx == 0) {
@@ -1734,12 +1735,14 @@ pci_nvme_parse_opts(struct pci_nvme_softc *sc, char *o
 			sc->nvstore.ctx = blockif_open(xopts, bident);
 			if (sc->nvstore.ctx == NULL) {
 				perror("Could not open backing file");
+				free(uopt);
 				return (-1);
 			}
 			sc->nvstore.type = NVME_STOR_BLOCKIF;
 			sc->nvstore.size = blockif_size(sc->nvstore.ctx);
 		} else {
 			fprintf(stderr, "Invalid option %s\n", xopts);
+			free(uopt);
 			return (-1);
 		}
 


More information about the svn-src-all mailing list