summaryrefslogtreecommitdiff
path: root/usr.sbin/bhyveload
diff options
context:
space:
mode:
authorSean Chittenden <seanc@FreeBSD.org>2019-07-12 18:38:18 +0000
committerSean Chittenden <seanc@FreeBSD.org>2019-07-12 18:38:18 +0000
commita0bc451f0b3b673b01d8dd15bc384027a4217a8e (patch)
treec2871b5f8da9b442cef1532b443269447dd8a4e0 /usr.sbin/bhyveload
parent422a8a4d3a8b4f02298cf10cd02f09202b8e2d16 (diff)
downloadsrc-test2-a0bc451f0b3b673b01d8dd15bc384027a4217a8e.tar.gz
src-test2-a0bc451f0b3b673b01d8dd15bc384027a4217a8e.zip
usr.sbin/bhyveload: don't leak an fd if a device can't be opened
Coverity CID: 1194167 Approved by: markj, jhb Differential Revision: https://reviews.freebsd.org/D20935
Notes
Notes: svn path=/head/; revision=349949
Diffstat (limited to 'usr.sbin/bhyveload')
-rw-r--r--usr.sbin/bhyveload/bhyveload.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c
index 5ce75f96bea4..3764642c76ad 100644
--- a/usr.sbin/bhyveload/bhyveload.c
+++ b/usr.sbin/bhyveload/bhyveload.c
@@ -664,21 +664,19 @@ altcons_open(char *path)
static int
disk_open(char *path)
{
- int err, fd;
+ int fd;
if (ndisks >= NDISKS)
return (ERANGE);
- err = 0;
fd = open(path, O_RDONLY);
+ if (fd < 0)
+ return (errno);
- if (fd > 0) {
- disk_fd[ndisks] = fd;
- ndisks++;
- } else
- err = errno;
+ disk_fd[ndisks] = fd;
+ ndisks++;
- return (err);
+ return (0);
}
static void