[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Fix a sizeof(ptr) mistake in test-memwipe.c
commit 27bc0da14d1c9c91bfe31d88c862cd00972ab187
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Fri May 29 13:50:12 2015 -0400
Fix a sizeof(ptr) mistake in test-memwipe.c
---
src/test/test-memwipe.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/src/test/test-memwipe.c b/src/test/test-memwipe.c
index cd3900e..a39bad1 100644
--- a/src/test/test-memwipe.c
+++ b/src/test/test-memwipe.c
@@ -19,25 +19,27 @@ static unsigned check_a_buffer(void) __attribute__((noinline));
const char *s = NULL;
+#define BUF_LEN 2048
+
#define FILL_BUFFER_IMPL() \
unsigned int i; \
unsigned sum = 0; \
\
/* Fill up a 1k buffer with a recognizable pattern. */ \
- for (i = 0; i < 2048; i += strlen(s)) { \
- memcpy(buf+i, s, MIN(strlen(s), 2048-i)); \
+ for (i = 0; i < BUF_LEN; i += strlen(s)) { \
+ memcpy(buf+i, s, MIN(strlen(s), BUF_LEN-i)); \
} \
\
/* Use the buffer as input to a computation so the above can't get */ \
/* optimized away. */ \
- for (i = 0; i < 2048; ++i) { \
+ for (i = 0; i < BUF_LEN; ++i) { \
sum += (unsigned char)buf[i]; \
}
static unsigned
fill_a_buffer_memset(void)
{
- char buf[2048];
+ char buf[BUF_LEN];
FILL_BUFFER_IMPL()
memset(buf, 0, sizeof(buf));
return sum;
@@ -46,7 +48,7 @@ fill_a_buffer_memset(void)
static unsigned
fill_a_buffer_memwipe(void)
{
- char buf[2048];
+ char buf[BUF_LEN];
FILL_BUFFER_IMPL()
memwipe(buf, 0, sizeof(buf));
return sum;
@@ -55,7 +57,7 @@ fill_a_buffer_memwipe(void)
static unsigned
fill_a_buffer_nothing(void)
{
- char buf[2048];
+ char buf[BUF_LEN];
FILL_BUFFER_IMPL()
return sum;
}
@@ -85,7 +87,7 @@ check_a_buffer(void)
If you know a better way to figure out whether the compiler eliminated
the memset/memwipe calls or not, please let me know.
*/
- for (i = 0; i < sizeof(buf); ++i) {
+ for (i = 0; i < BUF_LEN - strlen(s); ++i) {
if (vmemeq(buf+i, s, strlen(s)))
++sum;
}
@@ -98,9 +100,9 @@ static char *heap_buf = NULL;
static unsigned
fill_heap_buffer_memset(void)
{
- char *buf = heap_buf = malloc(2048);
+ char *buf = heap_buf = malloc(BUF_LEN);
FILL_BUFFER_IMPL()
- memset(buf, 0, 2048);
+ memset(buf, 0, BUF_LEN);
free(buf);
return sum;
}
@@ -108,9 +110,9 @@ fill_heap_buffer_memset(void)
static unsigned
fill_heap_buffer_memwipe(void)
{
- char *buf = heap_buf = malloc(2048);
+ char *buf = heap_buf = malloc(BUF_LEN);
FILL_BUFFER_IMPL()
- memwipe(buf, 0, 2048);
+ memwipe(buf, 0, BUF_LEN);
free(buf);
return sum;
}
@@ -118,7 +120,7 @@ fill_heap_buffer_memwipe(void)
static unsigned
fill_heap_buffer_nothing(void)
{
- char *buf = heap_buf = malloc(2048);
+ char *buf = heap_buf = malloc(BUF_LEN);
FILL_BUFFER_IMPL()
free(buf);
return sum;
@@ -138,7 +140,7 @@ check_heap_buffer(void)
If you know a better way to figure out whether the compiler eliminated
the memset/memwipe calls or not, please let me know.
*/
- for (i = 0; i < sizeof(buf); ++i) {
+ for (i = 0; i < BUF_LEN - strlen(s); ++i) {
if (vmemeq(buf+i, s, strlen(s)))
++sum;
}
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits