Browse Source

Bug fix: -report_system_areas as_mkisofs misrepresented GPT with appended partition and forced boot flag

master
Thomas Schmitt 11 months ago
parent
commit
396d09946e
  1. 9
      xorriso/iso_img.c
  2. 2
      xorriso/xorriso_timestamp.h

9
xorriso/iso_img.c

@ -1680,7 +1680,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
char *volid, *crt, *mdt, *ext, *eft, uuid[17], *uuid_time;
char **app_pseudo_paths= NULL;
struct tm tm_erg;
int was_force_bootable= 0;
int was_force_bootable= 0, have_mbr_force_bootable= 0;
uint64_t gpt_bheader_block= 0;
struct mbr_par {
@ -1755,6 +1755,8 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
} else if(strcmp(name, "MBR partition :") == 0) {
if(num[0] > mbr_count)
mbr_count= num[0];
if(strcmp(textpt, "0x80 0x00 0 1") == 0)
have_mbr_force_bootable= 1;
} else if(strcmp(name, "GPT partition name :") == 0) {
if(num[0] > gpt_count)
@ -2244,8 +2246,9 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
}
/* Check for isohybri-ish MBR and GPT mix */
if(mbr_count == 1 && mbrpts[0].ptype == 0xee && have_protective_msdos) {
/* real GPT is not -part_like_isohybrid */
if((mbr_count == 1 || (mbr_count == 2 && have_mbr_force_bootable)) &&
mbrpts[0].ptype == 0xee && have_protective_msdos) {
/* real GPT (+/- mbr_force_bootable) is not -part_like_isohybrid */
ret= 0;
} else {
ret= Xorriso_search_eltorito_lba(xorriso, et_imgs, elto_count,

2
xorriso/xorriso_timestamp.h

@ -1 +1 @@
#define Xorriso_timestamP "2020.10.22.114038"
#define Xorriso_timestamP "2020.10.24.121839"

Loading…
Cancel
Save