From 1465a1e1eba6478a1cdc69f20a2ed603529ba549 Mon Sep 17 00:00:00 2001 From: Marcelo Araujo Date: Tue, 21 Aug 2018 23:11:26 +0000 Subject: [PATCH] Fix resource leak when using strdup(3). Reported by: Coverity CID: 1394929 Sponsored by: iXsystems Inc. --- usr.sbin/bhyve/pci_nvme.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c index e99566cf29e..693378054ab 100644 --- a/usr.sbin/bhyve/pci_nvme.c +++ b/usr.sbin/bhyve/pci_nvme.c @@ -1726,6 +1726,7 @@ pci_nvme_parse_opts(struct pci_nvme_softc *sc, char *opts) 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 *opts) 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); }