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; +}