From: Paul Eggert Date: Thu, 3 Apr 2014 16:42:53 +0000 (-0700) Subject: shred: shred one block even for empty files X-Git-Tag: v8.23~102 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c3e6be6d70a944fa2cda1f256d01c0fa8928f0b;p=thirdparty%2Fcoreutils.git shred: shred one block even for empty files * src/shred.c (do_wipefd): Shred one block of empty regular files. This reverts an unintended part of the previous change. --- diff --git a/src/shred.c b/src/shred.c index 0a53a16bee..732d3afb1a 100644 --- a/src/shred.c +++ b/src/shred.c @@ -887,8 +887,11 @@ do_wipefd (int fd, char const *qname, struct randint_source *s, if (! flags->exact) { + /* Round up to the nearest blocksize. If the file is + empty output a block anyway, in case the file system + stores small files in the inode. */ off_t remainder = size % ST_BLKSIZE (st); - if (remainder != 0) + if (remainder != 0 || size == 0) { off_t size_incr = ST_BLKSIZE (st) - remainder; if (! INT_ADD_OVERFLOW (size, size_incr))