memwipe: don't call the workhorse for 0 bytes

Some of them don't like it
release-v0.5.1
moneromooo-monero 6 years ago
parent eed4dba880
commit 8d578f1f2d
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

@ -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,6 +67,7 @@ void *memwipe(void *ptr, size_t n)
void *memwipe(void *ptr, size_t n) void *memwipe(void *ptr, size_t n)
{ {
if (n > 0)
explicit_bzero(ptr, n); explicit_bzero(ptr, n);
SCARECROW SCARECROW
return ptr; return ptr;
@ -105,6 +106,7 @@ static void memory_cleanse(void *ptr, size_t len)
void *memwipe(void *ptr, size_t n) void *memwipe(void *ptr, size_t n)
{ {
if (n > 0)
memory_cleanse(ptr, n); memory_cleanse(ptr, n);
SCARECROW SCARECROW
return ptr; return ptr;

Loading…
Cancel
Save