From: longpanda Date: Fri, 11 Jun 2021 12:36:17 +0000 (+0800) Subject: Fix a bug when booting nitrux-release-amd64_2021.05.28.iso (#953) X-Git-Tag: v1.0.46~2 X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/commitdiff_plain/7fce7e0abaf09acb4a091d830feb4e54d4435f88?hp=--cc Fix a bug when booting nitrux-release-amd64_2021.05.28.iso (#953) --- 7fce7e0abaf09acb4a091d830feb4e54d4435f88 diff --git a/IPXE/ipxe_mod_code/ipxe-3fe683e/src/arch/x86/interface/pcbios/ventoy_int13.c b/IPXE/ipxe_mod_code/ipxe-3fe683e/src/arch/x86/interface/pcbios/ventoy_int13.c index 75960c2..2671761 100644 --- a/IPXE/ipxe_mod_code/ipxe-3fe683e/src/arch/x86/interface/pcbios/ventoy_int13.c +++ b/IPXE/ipxe_mod_code/ipxe-3fe683e/src/arch/x86/interface/pcbios/ventoy_int13.c @@ -1354,6 +1354,15 @@ static int int13_load_eltorito ( unsigned int drive, struct segoff *address ) { DBG ( "INT13 drive %02x El Torito boot image loads at %04x:%04x\n", drive, address->segment, address->offset ); + if (catalog.boot.length > 256) + { + if (g_debug) + { + printf("trim length from %d to 4\n", catalog.boot.length); + } + catalog.boot.length = 4; + } + /* Use INT 13, 42 to read the boot image */ eltorito_address.bufsize = offsetof ( typeof ( eltorito_address ), buffer_phys );