diff --git a/libisoburn/isofs_wrap.c b/libisoburn/isofs_wrap.c index f296859d..5af6668a 100644 --- a/libisoburn/isofs_wrap.c +++ b/libisoburn/isofs_wrap.c @@ -675,22 +675,22 @@ int isoburn_invalidate_iso(struct isoburn *o, int flag) /* * replace CD001 with CDXX1 in PVM. */ - strncpy(head + 16 * 2048 + 1, "CDXX1", 5); + memcpy(head + 16 * 2048 + 1, "CDXX1", 5); /* 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) - strncpy(head + i + 1, "BEAX1", 5); + memcpy(head + i + 1, "BEAX1", 5); else if(head[i] == 0 && strncmp(head + i + 1, "NSR", 3) == 0) - strncpy(head + i + 1, "NSRX", 4); + memcpy(head + i + 1, "NSRX", 4); else if(head[i] == 0 && strncmp(head + i + 1, "TEA", 3) == 0) - strncpy(head + i + 1, "TEAX", 4); + memcpy(head + i + 1, "TEAX", 4); } 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); + memcpy(head + i + 3, "XX", 2); } }