summaryrefslogtreecommitdiffstats
path: root/usr.bin/mkimg
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2014-05-21 17:34:50 +0000
committermarcel <marcel@FreeBSD.org>2014-05-21 17:34:50 +0000
commitb00f7d7c651114b3fac6a1cf674ddf0004aa2f83 (patch)
tree418c515fde777bf3a1a309b2298c8dee4a8ae35e /usr.bin/mkimg
parent894f3932dde0ad8f4021d3711e1cd4f2857abed5 (diff)
downloadFreeBSD-src-b00f7d7c651114b3fac6a1cf674ddf0004aa2f83.zip
FreeBSD-src-b00f7d7c651114b3fac6a1cf674ddf0004aa2f83.tar.gz
Fix CID 1215129: move the call to lseek(2) before the call to malloc(3)
so that the error path (taken due to lseek(2) failing) isn't leaking memory.
Diffstat (limited to 'usr.bin/mkimg')
-rw-r--r--usr.bin/mkimg/image.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/mkimg/image.c b/usr.bin/mkimg/image.c
index f437bbf..c5a75c9 100644
--- a/usr.bin/mkimg/image.c
+++ b/usr.bin/mkimg/image.c
@@ -98,11 +98,11 @@ image_copyout(int fd)
ofs = lseek(fd, 0L, SEEK_CUR);
+ if (lseek(image_fd, 0, SEEK_SET) != 0)
+ return (errno);
buffer = malloc(BUFFER_SIZE);
if (buffer == NULL)
return (errno);
- if (lseek(image_fd, 0, SEEK_SET) != 0)
- return (errno);
error = 0;
while (1) {
rdsz = read(image_fd, buffer, BUFFER_SIZE);
OpenPOWER on IntegriCloud