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))
openSUSE Build Service is sponsored by