svn commit: r306299 - head/usr.bin/mkimg

Marcel Moolenaar marcel at FreeBSD.org
Sat Sep 24 17:29:28 UTC 2016


Author: marcel
Date: Sat Sep 24 17:29:27 2016
New Revision: 306299
URL: https://svnweb.freebsd.org/changeset/base/306299

Log:
  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.
  
  MFC after:	1 week

Modified:
  head/usr.bin/mkimg/mkimg.c

Modified: head/usr.bin/mkimg/mkimg.c
==============================================================================
--- head/usr.bin/mkimg/mkimg.c	Sat Sep 24 16:46:37 2016	(r306298)
+++ head/usr.bin/mkimg/mkimg.c	Sat Sep 24 17:29:27 2016	(r306299)
@@ -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)


More information about the svn-src-head mailing list