# HG changeset patch # User Pascal Bellard # Date 1451672792 -3600 # Node ID 4145d548de53fc8b075489072924f68c66401f01 # Parent d2513bef62407184eca98cac06cc3c98e36e5e42 syslinux/isohybrid.exe: fix config md5 diff -r d2513bef6240 -r 4145d548de53 syslinux/stuff/iso2exe/iso2exe.c --- a/syslinux/stuff/iso2exe/iso2exe.c Fri Jan 01 16:02:21 2016 +0100 +++ b/syslinux/stuff/iso2exe/iso2exe.c Fri Jan 01 19:26:32 2016 +0100 @@ -262,6 +262,14 @@ } } +static void clear_config(unsigned i) +{ + for (;i % 512; i++) { + /* clear custom config */ + write(fd, buffer + 2048, 2048); + } +} + static unsigned install(char *filename) { #define heads 64 @@ -300,10 +308,7 @@ } i = getcustomsector(); lseek(fd, i * 2048UL, SEEK_SET); - for (;i % 512; i++) { - /* clear custom config */ - write(fd, buffer + 2048, 2048); - } + clear_config(i); ftruncate(fd, i * 2048UL); close(fd); status = 0; @@ -313,6 +318,8 @@ if (append || initrd) { unsigned long pos = getcustomsector() * 2048UL; lseek(fd, pos, SEEK_SET); + clear_config(pos); + lseek(fd, pos, SEEK_SET); write(fd, "#!boot 00000000000000000000000000000000\n", 40); md5_begin(); if (append) { @@ -356,7 +363,7 @@ } md5_end(); { - static char h[] = "0123456789ABCDEF"; + static char h[] = "0123456789abcdef"; char string[32], *s = string + 30; unsigned char *p = (void *) hash;