summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2016-04-20 21:11:49 +0000
committerbapt <bapt@FreeBSD.org>2016-04-20 21:11:49 +0000
commit4ef4642bcd82d31379576d42b0cd15021f3c573b (patch)
tree69702bf8323de5f4e5fe56f0af26efcf3ebf03af
parentd0fd815b7245d88f2ca2880bc2c6b3ebc593ebfd (diff)
downloadFreeBSD-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.c8
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);
}
OpenPOWER on IntegriCloud