mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
Correctly mark the last El Torito section header.
Reported by: Thomas Schmitt <scdbackup@gmx.net> Reviewed by: emaste, imp MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D14812
This commit is contained in:
parent
7091608617
commit
ebf1c08960
1 changed files with 11 additions and 1 deletions
|
|
@ -294,7 +294,10 @@ cd9660_boot_setup_section_head(char platform)
|
|||
return NULL;
|
||||
|
||||
sh = &entry->entry_data.SH;
|
||||
/* More by default. The last one will manually be set to 0x91 */
|
||||
/*
|
||||
* More by default.
|
||||
* The last one will manually be set to ET_SECTION_HEADER_LAST
|
||||
*/
|
||||
sh->header_indicator[0] = ET_SECTION_HEADER_MORE;
|
||||
sh->platform_id[0] = platform;
|
||||
sh->num_section_entries[0] = 0;
|
||||
|
|
@ -464,6 +467,13 @@ cd9660_setup_boot(iso9660_disk *diskStructure, int first_sector)
|
|||
tmp_disk = TAILQ_NEXT(tmp_disk, image_list);
|
||||
}
|
||||
|
||||
/* Find the last Section Header entry and mark it as the last. */
|
||||
LIST_FOREACH(next, &diskStructure->boot_entries, ll_struct) {
|
||||
if (next->entry_type == ET_ENTRY_SH)
|
||||
head = next;
|
||||
}
|
||||
head->entry_data.SH.header_indicator[0] = ET_SECTION_HEADER_LAST;
|
||||
|
||||
/* TODO: Remaining boot disks when implemented */
|
||||
|
||||
return first_sector + used_sectors;
|
||||
|
|
|
|||
Loading…
Reference in a new issue