aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cipher/ChangeLog11
-rw-r--r--cipher/blowfish.c3
-rw-r--r--cipher/cast5.c3
-rw-r--r--cipher/des.c3
-rw-r--r--cipher/md5.c2
-rw-r--r--cipher/random.c6
-rw-r--r--cipher/rijndael.c2
-rw-r--r--cipher/rmd160.c2
-rw-r--r--cipher/rndegd.c2
-rw-r--r--cipher/rndlinux.c2
-rw-r--r--cipher/rndriscos.c2
-rw-r--r--cipher/sha1.c2
-rw-r--r--cipher/tiger.c2
-rw-r--r--cipher/twofish.c2
14 files changed, 29 insertions, 15 deletions
diff --git a/cipher/ChangeLog b/cipher/ChangeLog
index dd0c442ec..585e75be9 100644
--- a/cipher/ChangeLog
+++ b/cipher/ChangeLog
@@ -1,3 +1,14 @@
+2002-11-06 David Shaw <[email protected]>
+
+ * blowfish.c (burn_stack), cast5.c (burn_stack), des.c
+ (burn_stack), md5.c (burn_stack), random.c (burn_stack, read_pool,
+ fast_random_poll), rijndael.c (burn_stack), rmd160.c (burn_stack),
+ rndegd.c (rndegd_gather_random), rndlinux.c
+ (rndlinux_gather_random), rndriscos.c (rndriscos_gather_random),
+ sha1.c (burn_stack), tiger.c (burn_stack), twofish.c (burn_stack):
+ Replace various calls to memset() with the more secure
+ wipememory().
+
2002-10-21 Werner Koch <[email protected]>
* rndw32.c [__CYGWIN32__]: Don't include winioctl.h - it is not
diff --git a/cipher/blowfish.c b/cipher/blowfish.c
index bf00fc462..7c9f952e9 100644
--- a/cipher/blowfish.c
+++ b/cipher/blowfish.c
@@ -35,6 +35,7 @@
#include <string.h>
#include <assert.h>
#include "types.h"
+#include "util.h"
#include "errors.h"
#include "algorithms.h"
@@ -282,7 +283,7 @@ burn_stack (int bytes)
{
char buf[64];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
diff --git a/cipher/cast5.c b/cipher/cast5.c
index 6373886f5..5ecfcc646 100644
--- a/cipher/cast5.c
+++ b/cipher/cast5.c
@@ -40,6 +40,7 @@
#include <stdlib.h>
#include <string.h>
#include "types.h"
+#include "util.h"
#include "errors.h"
#include "algorithms.h"
@@ -359,7 +360,7 @@ burn_stack (int bytes)
{
char buf[64];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
diff --git a/cipher/des.c b/cipher/des.c
index 36383d2c0..5c0e49645 100644
--- a/cipher/des.c
+++ b/cipher/des.c
@@ -115,6 +115,7 @@
#include <stdio.h>
#include <string.h> /* memcpy, memcmp */
#include "types.h" /* for byte and u32 typedefs */
+#include "util.h"
#include "errors.h"
#include "algorithms.h"
@@ -453,7 +454,7 @@ burn_stack (int bytes)
{
char buf[64];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
diff --git a/cipher/md5.c b/cipher/md5.c
index ca605b6fd..1d1f76134 100644
--- a/cipher/md5.c
+++ b/cipher/md5.c
@@ -78,7 +78,7 @@ burn_stack (int bytes)
{
char buf[128];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
diff --git a/cipher/random.c b/cipher/random.c
index faf664ac1..8b750a7ff 100644
--- a/cipher/random.c
+++ b/cipher/random.c
@@ -205,7 +205,7 @@ burn_stack (int bytes)
{
char buf[128];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
@@ -564,7 +564,7 @@ read_pool( byte *buffer, size_t length, int level )
if( pool_balance < 0 )
pool_balance = 0;
/* and clear the keypool */
- memset( keypool, 0, POOLSIZE );
+ wipememory(keypool, POOLSIZE);
}
}
@@ -673,7 +673,7 @@ fast_random_poll()
getrusage( RUSAGE_SELF, &buf );
add_randomness( &buf, sizeof buf, 1 );
- memset( &buf, 0, sizeof buf );
+ wipememory( &buf, sizeof buf );
}
#endif
#endif
diff --git a/cipher/rijndael.c b/cipher/rijndael.c
index 62c5bc23a..a30cd5fee 100644
--- a/cipher/rijndael.c
+++ b/cipher/rijndael.c
@@ -1713,7 +1713,7 @@ burn_stack (int bytes)
{
char buf[64];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
diff --git a/cipher/rmd160.c b/cipher/rmd160.c
index 54dec6a15..d8e8584a3 100644
--- a/cipher/rmd160.c
+++ b/cipher/rmd160.c
@@ -146,7 +146,7 @@ burn_stack (int bytes)
{
char buf[150];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
diff --git a/cipher/rndegd.c b/cipher/rndegd.c
index 5f71ab858..df31ce189 100644
--- a/cipher/rndegd.c
+++ b/cipher/rndegd.c
@@ -221,7 +221,7 @@ rndegd_gather_random( void (*add)(const void*, size_t, int), int requester,
(*add)( buffer, n, requester );
length -= n;
}
- memset(buffer, 0, sizeof(buffer) );
+ wipememory(buffer, sizeof(buffer) );
return 0; /* success */
}
diff --git a/cipher/rndlinux.c b/cipher/rndlinux.c
index c31b7f71c..2b28e4b6a 100644
--- a/cipher/rndlinux.c
+++ b/cipher/rndlinux.c
@@ -156,7 +156,7 @@ _("\n"
(*add)( buffer, n, requester );
length -= n;
}
- memset(buffer, 0, sizeof(buffer) );
+ wipememory(buffer, sizeof(buffer) );
return 0; /* success */
}
diff --git a/cipher/rndriscos.c b/cipher/rndriscos.c
index 98142b313..4a9a3b73e 100644
--- a/cipher/rndriscos.c
+++ b/cipher/rndriscos.c
@@ -87,7 +87,7 @@ rndriscos_gather_random(void (*add)(const void*, size_t, int), int requester,
(*add)(buffer, n, requester);
length -= n;
}
- memset(buffer, 0, sizeof(buffer));
+ wipememory(buffer, sizeof(buffer));
return 0; /* success */
}
diff --git a/cipher/sha1.c b/cipher/sha1.c
index 06ca2532b..149c4c170 100644
--- a/cipher/sha1.c
+++ b/cipher/sha1.c
@@ -54,7 +54,7 @@ burn_stack (int bytes)
{
char buf[128];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
diff --git a/cipher/tiger.c b/cipher/tiger.c
index 1bb3375ed..54cafe578 100644
--- a/cipher/tiger.c
+++ b/cipher/tiger.c
@@ -635,7 +635,7 @@ burn_stack (int bytes)
{
char buf[256];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);
diff --git a/cipher/twofish.c b/cipher/twofish.c
index 5ed44872c..a6a571ff0 100644
--- a/cipher/twofish.c
+++ b/cipher/twofish.c
@@ -550,7 +550,7 @@ burn_stack (int bytes)
{
char buf[64];
- memset (buf, 0, sizeof buf);
+ wipememory(buf,sizeof buf);
bytes -= sizeof buf;
if (bytes > 0)
burn_stack (bytes);