diff options
author | Sean Chittenden <seanc@FreeBSD.org> | 2019-07-12 18:38:18 +0000 |
---|---|---|
committer | Sean Chittenden <seanc@FreeBSD.org> | 2019-07-12 18:38:18 +0000 |
commit | a0bc451f0b3b673b01d8dd15bc384027a4217a8e (patch) | |
tree | c2871b5f8da9b442cef1532b443269447dd8a4e0 /usr.sbin/bhyveload | |
parent | 422a8a4d3a8b4f02298cf10cd02f09202b8e2d16 (diff) | |
download | src-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.c | 14 |
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 |