memwipe: don't call the workhorse for 0 bytes

Some of them don't like it
This commit is contained in:
moneromooo-monero 2018-07-10 14:37:56 +01:00 committed by wowario
parent 668489a322
commit e2a3f71870
No known key found for this signature in database
GPG key ID: 24DCBE762DE9C111

View file

@ -50,7 +50,7 @@
void *memwipe(void *ptr, size_t n) 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 #ifdef NDEBUG
fprintf(stderr, "Error: memset_s failed\n"); 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) void *memwipe(void *ptr, size_t n)
{ {
explicit_bzero(ptr, n); if (n > 0)
explicit_bzero(ptr, n);
SCARECROW SCARECROW
return ptr; return ptr;
} }
@ -105,7 +106,8 @@ static void memory_cleanse(void *ptr, size_t len)
void *memwipe(void *ptr, size_t n) void *memwipe(void *ptr, size_t n)
{ {
memory_cleanse(ptr, n); if (n > 0)
memory_cleanse(ptr, n);
SCARECROW SCARECROW
return ptr; return ptr;
} }