7#include <botan/mem_ops.h>
8#include <botan/internal/ct_utils.h>
12#if defined(BOTAN_HAS_LOCKING_ALLOCATOR)
13 #include <botan/locking_allocator.h>
20 if(elems == 0 || elem_size == 0)
23#if defined(BOTAN_HAS_LOCKING_ALLOCATOR)
28 void* ptr = std::calloc(elems, elem_size);
30 throw std::bad_alloc();
41#if defined(BOTAN_HAS_LOCKING_ALLOCATOR)
51#if defined(BOTAN_HAS_LOCKING_ALLOCATOR)
60 volatile uint8_t difference = 0;
62 for(
size_t i = 0; i != len; ++i)
63 difference |= (x[i] ^ y[i]);
static Mask< T > is_zero(T x)
static mlock_allocator & instance()
BOTAN_MALLOC_FN void * allocate_memory(size_t elems, size_t elem_size)
void deallocate_memory(void *p, size_t elems, size_t elem_size)
void secure_scrub_memory(void *ptr, size_t n)
uint8_t ct_compare_u8(const uint8_t x[], const uint8_t y[], size_t len)
void initialize_allocator()