From e72d702ce763bcc63de776d134805fb7c8cb82d2 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Fri, 5 May 2017 14:31:57 +0200 Subject: [PATCH] When pseudo-blanking: Invalidate all ECMA-119 volume descriptors, not only PVD --- libisoburn/isofs_wrap.c | 10 +++++----- xorriso/xorriso_timestamp.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libisoburn/isofs_wrap.c b/libisoburn/isofs_wrap.c index 3dd140fc..29dae00f 100644 --- a/libisoburn/isofs_wrap.c +++ b/libisoburn/isofs_wrap.c @@ -676,11 +676,11 @@ int isoburn_invalidate_iso(struct isoburn *o, int flag) head= (char *) o->target_iso_head; /* * replace CD001 with CDXX1 in PVM. - * I think this is enought for invalidating an iso image */ strncpy(head + 16 * 2048 + 1, "CDXX1", 5); - /* Look for UDF volume recognition sequence and invalidate */ + /* Invalidate further ECMA-119 volume descriptors and possible UDF volume + recognition sequence */ for(i= 17 * 2048; i < 32 * 2048; i+= 2048) { if(end_ed_found) { if(head[i] == 0 && strncmp(head + i + 1, "BEA01", 5) == 0) @@ -689,10 +689,10 @@ int isoburn_invalidate_iso(struct isoburn *o, int flag) strncpy(head + i + 1, "NSRX", 4); else if(head[i] == 0 && strncmp(head + i + 1, "TEA", 3) == 0) strncpy(head + i + 1, "TEAX", 4); - } else { - if(((unsigned char *) head)[i] == 0xff && - strncmp(head + i + 1, "CD001", 5) == 0) + } else if(strncmp(head + i + 1, "CD001", 5) == 0) { + if(((unsigned char *) head)[i] == 0xff) end_ed_found= 1; + strncpy(head + i + 3, "XX", 2); } } diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index dfa0ac4e..9a027fda 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2017.04.25.135002" +#define Xorriso_timestamP "2017.05.05.123120"