pub struct ProtectedStack { /* private fields */ }
Expand description
Protected stack with canaries and optional guard pages.
Implementations§
Source§impl ProtectedStack
impl ProtectedStack
Sourcepub fn new(
stack: Stack,
thread_id: u64,
config: SecurityConfig,
) -> Result<Self, ThreadError>
pub fn new( stack: Stack, thread_id: u64, config: SecurityConfig, ) -> Result<Self, ThreadError>
Create new protected stack.
Sourcepub fn check_canaries(&self) -> bool
pub fn check_canaries(&self) -> bool
Check stack canaries for corruption.
Sourcepub fn validate_canaries(&self)
pub fn validate_canaries(&self)
Validate canaries and handle violations.
Sourcepub fn usable_range(&self) -> (usize, usize)
pub fn usable_range(&self) -> (usize, usize)
Get usable stack range (excluding canaries).
Auto Trait Implementations§
impl Freeze for ProtectedStack
impl RefUnwindSafe for ProtectedStack
impl Send for ProtectedStack
impl Sync for ProtectedStack
impl Unpin for ProtectedStack
impl UnwindSafe for ProtectedStack
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more