Browse Source

Bug fix: Multi-session emulation was not recognized with non-zero partition offset

master
Thomas Schmitt 4 years ago
parent
commit
198ecef0c4
  1. 8
      libisoburn/isofs_wrap.c
  2. 2
      xorriso/xorriso_timestamp.h

8
libisoburn/isofs_wrap.c

@ -478,8 +478,8 @@ static int isoburn_inspect_partition(struct isoburn *o, uint32_t img_size,
{ret= 2; goto ex;} /* No room for volume descriptors */
offst/= 4;
numsec/= 4;
if(offst + numsec != img_size)
{ret= 2; goto ex;} /* Partition end does not match image end */
if(offst + numsec > img_size)
{ret= 2; goto ex;} /* Partition end exceeds image end */
/* Is there a PVD at the partition start ? */
ret = burn_read_data(o->drive, (off_t) (offst + 16) * (off_t) 2048,
@ -493,8 +493,8 @@ static int isoburn_inspect_partition(struct isoburn *o, uint32_t img_size,
|| pvm->file_structure_version[0] != 1 )
{ret= 2; goto ex;} /* failed sanity check */
if(iso_read_lsb(pvm->vol_space_size, 4) + offst != img_size)
{ret= 2; goto ex;} /* Image ends do not match */
if(iso_read_lsb(pvm->vol_space_size, 4) + offst > img_size)
{ret= 2; goto ex;} /* Image ends do not match plausibly */
/* Now it is credible. Not yet clear is whether it is acceptable. */
o->loaded_partition_offset= offst;

2
xorriso/xorriso_timestamp.h

@ -1 +1 @@
#define Xorriso_timestamP "2017.11.25.095955"
#define Xorriso_timestamP "2018.05.08.092636"

Loading…
Cancel
Save