From e565d9bbda7a2dbd059bb147feab06005ea4f73e Mon Sep 17 00:00:00 2001 From: dehanj Date: Mon, 22 Jan 2024 13:33:26 +0100 Subject: [PATCH] Add secure_wipe() --- include/tkey/lib.h | 1 + libcommon/lib.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/include/tkey/lib.h b/include/tkey/lib.h index b94809b..deb7b77 100644 --- a/include/tkey/lib.h +++ b/include/tkey/lib.h @@ -13,4 +13,5 @@ void memcpy_s(void *dest, size_t destsize, const void *src, size_t n); void *wordcpy(void *dest, const void *src, unsigned n); void wordcpy_s(void *dest, size_t destsize, const void *src, size_t n); int memeq(void *dest, const void *src, size_t n); +void secure_wipe(void *v, size_t n); #endif diff --git a/libcommon/lib.c b/libcommon/lib.c index 154e306..b2da3eb 100644 --- a/libcommon/lib.c +++ b/libcommon/lib.c @@ -82,3 +82,10 @@ int memeq(void *dest, const void *src, size_t n) return res; } + +void secure_wipe(void *v, size_t n) +{ + volatile uint8_t *p = (volatile uint8_t *)v; + while (n--) + *p++ = 0; +}