Struct sodium_alloc::SodiumAllocator [−][src]
pub struct SodiumAllocator;
Expand description
An Allocator
which allocates and frees memory using Sodium’s secure
memory utilities.
Allocation of memory using this struct is expensive - it shouldn’t be used as a global allocator, but rather confied to manage memory for data structures storing sensitive information, such as keys, passwords, etc.
When this Allocator frees memory, it is securely zeroed, so there is no need to implement Zeroize or similar constructions for types with memory managed via this struct.
If the canary Sodium places before the allocated memory is altered, or if an attempt to access a guard page surrounding the allocated memory is made, the program will automatically terminate. This behaviour should never occur in safe Rust.
Trait Implementations
allocator_api
)Attempts to allocate a block of memory. Read more
allocator_api
)Deallocates the memory referenced by ptr
. Read more
allocator_api
)Behaves like allocate
, but also ensures that the returned memory is zero-initialized. Read more
allocator_api
)Attempts to extend the memory block. Read more
allocator_api
)Behaves like grow
, but also ensures that the new contents are set to zero before being
returned. Read more
allocator_api
)Attempts to shrink the memory block. Read more
Auto Trait Implementations
impl RefUnwindSafe for SodiumAllocator
impl Send for SodiumAllocator
impl Sync for SodiumAllocator
impl Unpin for SodiumAllocator
impl UnwindSafe for SodiumAllocator
Blanket Implementations
Mutably borrows from an owned value. Read more