# HG changeset patch # User Pascal Bellard # Date 1451687132 -3600 # Node ID d334cc1613e2f41939de33fee634880120d2bcdb # Parent ec7b15533c2d7695b684a5337ad334c814e998ca syslinux/isohybrib.exe: check EXE file (again) diff -r ec7b15533c2d -r d334cc1613e2 syslinux/stuff/iso2exe/iso2exe.c --- a/syslinux/stuff/iso2exe/iso2exe.c Fri Jan 01 21:39:40 2016 +0100 +++ b/syslinux/stuff/iso2exe/iso2exe.c Fri Jan 01 23:25:32 2016 +0100 @@ -316,12 +316,24 @@ return UNINSTALLMSG; } + readsector(0UL); + if (buffer[0] == 'M' && buffer[1] == 'Z') { + if (forced == 0) + return ALREADYEXEERR; + n = (buffer[417] + 1) * 512; + i = 0x8000 - 1024; + if (i > sizeof(tazlitoinfo)) + i = sizeof(tazlitoinfo); + if (lseek(fd, n, SEEK_SET) == -1 || + read(fd, tazlitoinfo, sizeof(tazlitoinfo)) != sizeof(tazlitoinfo) || + lseek(fd, 1024UL, SEEK_SET) == -1 || + write(fd, tazlitoinfo, i) != i) { + puts(bootiso+READSECTORERR); + exit(1); + } + } + do { - readsector(0UL); - status = ALREADYEXEERR; - if (buffer[0] == 'M' && buffer[1] == 'Z') - break; - /* Install hybridiso boot sector */ readsector(17UL); status = ELTORITOERR;