Files
rippled/include/xrpl/crypto/secure_erase.h
2025-11-10 11:49:19 -05:00

28 lines
796 B
C++

#ifndef XRPL_CRYPTO_SECURE_ERASE_H_INCLUDED
#define XRPL_CRYPTO_SECURE_ERASE_H_INCLUDED
#include <cstddef>
namespace xrpl {
/** Attempts to clear the given blob of memory.
The underlying implementation of this function takes pains to
attempt to outsmart the compiler from optimizing the clearing
away. Please note that, despite that, remnants of content may
remain floating around in memory as well as registers, caches
and more.
For a more in-depth discussion of the subject please see the
below posts by Colin Percival:
http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buffer.html
http://www.daemonology.net/blog/2014-09-06-zeroing-buffers-is-insufficient.html
*/
void
secure_erase(void* dest, std::size_t bytes);
} // namespace xrpl
#endif