MCPcopy Index your code
hub / github.com/Rust-API/Rust-API-Bypass-Checker / PathRefinement

Interface PathRefinement

src/analysis/memory/path.rs:484–505  ·  view source on GitHub ↗

Define this trait for defining methods for Rc Still, mainly used to handle function calls

Source from the content-addressed store, hash-verified

482// Define this trait for defining methods for Rc<Path>
483// Still, mainly used to handle function calls
484pub trait PathRefinement<DomainType>: Sized
485where
486 DomainType: NumericalDomainType,
487 IntervalAbstractDomain<DomainType>: GetDomainType,
488{
489 /// Refine parameters inside embedded index values with the given arguments.
490 fn refine_parameters(
491 &self,
492 arguments: &[(Rc<Path>, Rc<SymbolicValue>)],
493 // fresh: usize,
494 ) -> Rc<Path>;
495
496 /// Refine paths that reference other paths.
497 /// I.e. when a reference is passed to a function that then returns
498 /// or leaks it back to the caller in the qualifier of a path then
499 /// we want to dereference the qualifier in order to normalize the path
500 /// and not have more than one path for the same location.
501 fn refine_paths(&self, environment: &AbstractDomain<DomainType>) -> Rc<Path>;
502
503 /// Returns a copy path with the root replaced by new_root.
504 fn replace_root(&self, old_root: &Rc<Path>, new_root: Rc<Path>) -> Rc<Path>;
505}
506
507impl<DomainType> PathRefinement<DomainType> for Rc<Path>
508where

Callers

nothing calls this directly

Implementers 1

path.rssrc/analysis/memory/path.rs

Calls

no outgoing calls

Tested by

no test coverage detected