File wipe-2.2.0-string.diff of Package wipe
--- dir.c
+++ dir.c
@@ -176,6 +176,7 @@
/*
wipe_name -- rename to random characters
+ real_name - assumed to be PATHMAX+1 long
rnlen - length to overwrite, or 0 for don't care (NAME_MAX)
this won't work for hashed dirs
@@ -267,8 +268,8 @@
if (rename(real_name, dest_name) == 0)
{
/* update pathname */
- strncpy(real_name, dest_name, rnlen);
- real_name[rnlen-1] = 0;
+ strncpy(real_name, dest_name, strnlen(dest_name, sizeof(dest_name)));
+ real_name[PATH_MAX] = 0;
}
else
{
--- percent.c
+++ percent.c
@@ -99,7 +99,7 @@
/* truncate to fit screen */
p->nlen = (scrwid - 10) + 3;
strncpy(p->name + p->nlen-4, "...", scrwid);
- p->name[p->nlen+1] = 0;
+ p->name[p->nlen-1] = 0;
}
if (!(options.zero || options.custom))