From 198ecef0c4dee9d0e615b7dbd0c4816d3e813ce7 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 8 May 2018 11:27:31 +0200 Subject: [PATCH] Bug fix: Multi-session emulation was not recognized with non-zero partition offset --- libisoburn/isofs_wrap.c | 8 ++++---- xorriso/xorriso_timestamp.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libisoburn/isofs_wrap.c b/libisoburn/isofs_wrap.c index 8abfa716..f296859d 100644 --- a/libisoburn/isofs_wrap.c +++ b/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; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index ffd89566..1c48dddd 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2017.11.25.095955" +#define Xorriso_timestamP "2018.05.08.092636"