On Mon, Apr 09, 2001 at 10:20:37PM -0700, aph@debian.org wrote:
> Repository: boot-floppies/utilities/dbootstrap
> who: aph
> time: Mon Apr 9 22:20:37 PDT 2001
>
>
> Log Message:
>
> fix a typo bug in Matt's code, and comment that I don't really get it
>
>
> Files:
>
> changed: bootconfig.c
Argh. Looking over my code, there are a couple more issues.
The following patch fixes a buffer overrun, adds in a comment as
to what we are doing, reads the correct symbolic link, and keeps
it around in case we are run multiple times.
Matt
Index: utilities/dbootstrap/bootconfig.c
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/utilities/dbootstrap/bootconfig.c,v
retrieving revision 1.88
diff -u -r1.88 bootconfig.c
--- utilities/dbootstrap/bootconfig.c 2001/04/10 05:20:37 1.88
+++ utilities/dbootstrap/bootconfig.c 2001/04/10 06:21:57
@@ -514,17 +514,14 @@
fprintf(filep,"root=%s\n",Root->name);
fprintf(filep,"timeout=100\n");
/* This is where it gets tricky */
- /* Adam: un, I don't understand this
- code, please document why it's
- necessary */
+ /* We need to create a symlink on the boot partition to the kernel image. */
if (Boot != Root) {
char buf[256], *p;
- readlink("/target/boot/vmlinuz", buf, sizeof(buf));
- buf[256] = '\0';
+ readlink("/target/vmlinuz", buf, sizeof(buf));
+ buf[255] = '\0';
p = strrchr(buf, '/');
if (p == NULL)
p = buf;
- unlink("/target/vmlinuz"); /* does us no good */
unlink("/target/boot/vmlinuz"); /* make sure this is gone */
symlink(p, "/target/boot/vmlinuz");
}
Attachment:
pgpRx4J60HtoO.pgp
Description: PGP signature