Hello,
On hppa and landisk, bootstrap() is called from md_installboot().
md_installboot() is the last action before returning from main(),
but bootstrap() can explicitly free the buffer it calloc'd (boot).
I don't have access to hppa or landisk. Is someone able to check
that this doesn't break anything?
- Michael
Index: bootstrap.c
===================================================================
RCS file: /cvs/src/usr.sbin/installboot/bootstrap.c,v
retrieving revision 1.10
diff -u -p -u -r1.10 bootstrap.c
--- bootstrap.c 1 Sep 2018 16:55:29 -0000 1.10
+++ bootstrap.c 7 Nov 2018 15:15:31 -0000
@@ -124,7 +124,9 @@ bootstrap(int devfd, char *dev, char *bo
fprintf(stderr, "%s bootstrap to disk\n",
(nowrite ? "would write" : "writing"));
if (nowrite)
- return;
+ goto done;
if (pwrite(devfd, boot, bootsize, 0) != (ssize_t)bootsize)
err(1, "pwrite");
+done:
+ free(boot);
}