Bug fix: -report_system_area cmd misperceived combination of isohybrid and appended partition in GPT

This commit is contained in:
Thomas Schmitt 2022-04-22 13:33:52 +02:00
parent 7d79692c55
commit ac7cdfa251
2 changed files with 6 additions and 4 deletions

View File

@ -2054,7 +2054,8 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
}
if(appended_as_gpt && !have_protective_msdos) {
if(mbr_count != 1) {
/* Check if really a pure GPT or a nearly pure mbr-force-bootable GPT */
if(mbr_count != 1 && !(mbr_count == 2 && have_mbr_force_bootable)) {
appended_as_gpt= 0;
} else if(mbrpts[0].ptype != 0xee || mbrpts[0].start_block != 1) {
appended_as_gpt= 0;
@ -2388,7 +2389,8 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
&et_idx, 0);
}
if(ret > 0) {
if(!(et_imgs[et_idx].do_gpt_basdat ||
if(!(isohybrid ||
et_imgs[et_idx].do_gpt_basdat ||
et_imgs[et_idx].do_gpt_hfsplus ||
part_like_isohybrid)) {
if(mkisofs)
@ -2759,7 +2761,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
}
if (et_imgs[idx].path[0] == 0 && efi_boot_part != 2) {
for(i= 0; i < gpt_count; i++) {
if(have_protective_msdos && (
if((have_protective_msdos || appended_as_gpt) && (
gpts[i].start_block == ((uint64_t) et_imgs[idx].lba) * 4 &&
(gpts[i].block_count == (uint64_t) et_imgs[idx].ldsiz ||
et_imgs[idx].ldsiz == 0 || et_imgs[idx].ldsiz == 1)))

View File

@ -1 +1 @@
#define Xorriso_timestamP "2022.04.22.113132"
#define Xorriso_timestamP "2022.04.22.113324"