From: Pádraig Brady
Date: Sun, 23 Jul 2017 08:06:33 +0000 (-0700) Subject: shred: remove redundant zeroing of freed memory X-Git-Tag: v8.28~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79c8041a840f34ae9790e8211544f0cfec1c7df3;p=thirdparty%2Fcoreutils.git shred: remove redundant zeroing of freed memory * src/shred.c (dopass): shred used to read the input file, and so needed to ensure internal memory was cleared. This is no longer the case since SH-UTILS-1_16f-260-gf381610 so avoid this redundant clearing. (do_wipefd): Likewise. * NEWS: Remove the recent mention of this issue. --- diff --git a/NEWS b/NEWS index dfd2837a07..110229bd8e 100644 --- a/NEWS +++ b/NEWS @@ -25,10 +25,6 @@ GNU coreutils NEWS -*- outline -*- Now, it prints a diagnostic or a line to stdout for each argument. [bug introduced in the bourne-shell-to-C rewrite for coreutils-6.11] - shred now erases buffers containing secrets via the explicit_bzero - function, which should be more reliable. - [potential bug has always been present in 'shred'] - split no longer exits when invocations of a --filter return EPIPE. [bug introduced in coreutils-8.26] diff --git a/src/shred.c b/src/shred.c index c95546cb7a..e6df4095ad 100644 --- a/src/shred.c +++ b/src/shred.c @@ -653,7 +653,6 @@ dopass (int fd, struct stat const *st, char const *qname, off_t *sizep, } free_pattern_mem: - explicit_bzero (pbuf, FILLPATTERN_SIZE); free (fill_pattern_mem); return other_error ? -1 : write_error; @@ -987,7 +986,6 @@ do_wipefd (int fd, char const *qname, struct randint_source *s, } wipefd_out: - explicit_bzero (passarray, flags->n_iterations * sizeof (int)); free (passarray); return ok; }