diff options
author | marcel <marcel@FreeBSD.org> | 2014-05-21 17:34:50 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2014-05-21 17:34:50 +0000 |
commit | b00f7d7c651114b3fac6a1cf674ddf0004aa2f83 (patch) | |
tree | 418c515fde777bf3a1a309b2298c8dee4a8ae35e /usr.bin/mkimg | |
parent | 894f3932dde0ad8f4021d3711e1cd4f2857abed5 (diff) | |
download | FreeBSD-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.c | 4 |
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); |