aboutsummaryrefslogtreecommitdiff
path: root/contrib/epee/src/memwipe.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/epee/src/memwipe.c')
-rw-r--r--contrib/epee/src/memwipe.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/epee/src/memwipe.c b/contrib/epee/src/memwipe.c
index e3a2f76c8..c2a26c392 100644
--- a/contrib/epee/src/memwipe.c
+++ b/contrib/epee/src/memwipe.c
@@ -50,7 +50,7 @@
void *memwipe(void *ptr, size_t n)
{
- if (memset_s(ptr, n, 0, n))
+ if (n > 0 && memset_s(ptr, n, 0, n))
{
#ifdef NDEBUG
fprintf(stderr, "Error: memset_s failed\n");
@@ -67,7 +67,8 @@ void *memwipe(void *ptr, size_t n)
void *memwipe(void *ptr, size_t n)
{
- explicit_bzero(ptr, n);
+ if (n > 0)
+ explicit_bzero(ptr, n);
SCARECROW
return ptr;
}
@@ -105,7 +106,8 @@ static void memory_cleanse(void *ptr, size_t len)
void *memwipe(void *ptr, size_t n)
{
- memory_cleanse(ptr, n);
+ if (n > 0)
+ memory_cleanse(ptr, n);
SCARECROW
return ptr;
}