diff options
author | bapt <bapt@FreeBSD.org> | 2016-04-20 21:11:49 +0000 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2016-04-20 21:11:49 +0000 |
commit | 4ef4642bcd82d31379576d42b0cd15021f3c573b (patch) | |
tree | 69702bf8323de5f4e5fe56f0af26efcf3ebf03af | |
parent | d0fd815b7245d88f2ca2880bc2c6b3ebc593ebfd (diff) | |
download | FreeBSD-src-4ef4642bcd82d31379576d42b0cd15021f3c573b.zip FreeBSD-src-4ef4642bcd82d31379576d42b0cd15021f3c573b.tar.gz |
Plug leaks
Reported by: Coverity
CID: 1340155 and 1340156
MFC after: 1 week
-rw-r--r-- | usr.sbin/mpsutil/mps_flash.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/usr.sbin/mpsutil/mps_flash.c b/usr.sbin/mpsutil/mps_flash.c index e22f29c..22beaae 100644 --- a/usr.sbin/mpsutil/mps_flash.c +++ b/usr.sbin/mpsutil/mps_flash.c @@ -83,6 +83,7 @@ flash_save(int argc, char **argv) if ((size = mps_firmware_get(fd, &firmware_buffer, bios)) < 0) { warnx("Fail to save %s", argv[1]); + close(fd); return (1); } @@ -100,6 +101,7 @@ flash_save(int argc, char **argv) error = errno; warn("write"); free(firmware_buffer); + close(fd); return (error); } written += ret; @@ -189,12 +191,14 @@ flash_update(int argc, char **argv) warnx("Invalid bios: no boot record magic number"); munmap(mem, st.st_size); close(fd); + free(facts); return (1); } if ((st.st_size % 512) != 0) { warnx("Invalid bios: size not a multiple of 512"); munmap(mem, st.st_size); close(fd); + free(facts); return (1); } } else { @@ -206,6 +210,7 @@ flash_update(int argc, char **argv) warnx(" Image Vendor ID: %04x", fwheader->VendorID); munmap(mem, st.st_size); close(fd); + free(facts); return (1); } @@ -215,6 +220,7 @@ flash_update(int argc, char **argv) warnx(" Image Product ID: %04x", fwheader->ProductID); munmap(mem, st.st_size); close(fd); + free(facts); return (1); } } @@ -224,11 +230,13 @@ flash_update(int argc, char **argv) warnx("Fail to update %s", argv[1]); munmap(mem, st.st_size); close(fd); + free(facts); return (1); } munmap(mem, st.st_size); close(fd); + free(facts); printf("%s successfully updated\n", argv[1]); return (0); } |