From c1ddb64e5764fabeb40486df7e0fcb8ba96e8a42 Mon Sep 17 00:00:00 2001 From: Cristy Date: Tue, 7 Jun 2022 07:27:38 -0400 Subject: [PATCH] first pass is fast for performance, second is crytographically strong --- MagickCore/memory.c | 3 ++- MagickCore/utility.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/MagickCore/memory.c b/MagickCore/memory.c index 6530ffee90..3beebfce62 100644 --- a/MagickCore/memory.c +++ b/MagickCore/memory.c @@ -1639,7 +1639,8 @@ MagickPrivate MagickBooleanType ShredMagickMemory(void *memory, for (j=0; j < length; j+=quantum) { - SetRandomKey(random_info,quantum,GetStringInfoDatum(key)); + if (i != 0) + SetRandomKey(random_info,quantum,GetStringInfoDatum(key)); (void) memcpy(p,GetStringInfoDatum(key),(size_t) MagickMin(quantum,length-j)); p+=quantum; diff --git a/MagickCore/utility.c b/MagickCore/utility.c index 52f399c645..036cb36d01 100644 --- a/MagickCore/utility.c +++ b/MagickCore/utility.c @@ -1944,7 +1944,8 @@ MagickPrivate MagickBooleanType ShredFile(const char *path) break; for (j=0; j < (MagickOffsetType) length; j+=count) { - SetRandomKey(random_info,quantum,GetStringInfoDatum(key)); + if (i != 0) + SetRandomKey(random_info,quantum,GetStringInfoDatum(key)); count=write(file,GetStringInfoDatum(key),(size_t) MagickMin((MagickSizeType) quantum,length-j)); if (count <= 0)