diff options
author | marcel <marcel@FreeBSD.org> | 2016-12-11 03:59:37 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2016-12-11 03:59:37 +0000 |
commit | 33b27aba3b36238c41e0addd8644ee339f569116 (patch) | |
tree | fbe98b5f5b5bc54d9516498e730f4331bb52c21e | |
parent | a3f7633492116879dd46a5b65ae7599c56f7eea7 (diff) | |
download | FreeBSD-src-33b27aba3b36238c41e0addd8644ee339f569116.zip FreeBSD-src-33b27aba3b36238c41e0addd8644ee339f569116.tar.gz |
MFC r306299:
Update local variable 'block' after calling capacity_resize(),
otherwise format_resize(), which is called right after, isn't
getting the current/actual image size. Rather than rounding up,
format_resize() could end up truncating the size and we don't
allow that by design.
-rw-r--r-- | usr.bin/mkimg/mkimg.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.bin/mkimg/mkimg.c b/usr.bin/mkimg/mkimg.c index 5a4b9f9..5d41e3b 100644 --- a/usr.bin/mkimg/mkimg.c +++ b/usr.bin/mkimg/mkimg.c @@ -463,13 +463,16 @@ mkimg(void) block = scheme_metadata(SCHEME_META_IMG_END, block); error = image_set_size(block); - if (!error) + if (!error) { error = capacity_resize(block); - if (!error) + block = image_get_size(); + } + if (!error) { error = format_resize(block); + block = image_get_size(); + } if (error) errc(EX_IOERR, error, "image sizing"); - block = image_get_size(); ncyls = block / (nsecs * nheads); error = scheme_write(block); if (error) |