mate.poi.analysis.UninitializedStackMemory module

class mate.poi.analysis.UninitializedStackMemory.UninitializedStackMemPOI(*, insight: str, source: str = None, sink: str = None, salient_functions: List[mate_common.models.analyses.SalientFunction] = [], local_variable: str, alloc_contexts: List[str], use: str, use_contexts: List[str])

Bases: mate_common.models.analyses.POI

This POI represents a potential place where a stack variable is accessed before initialization.

Parameters
  • insight (str) –

  • source (Optional[str]) –

  • sink (Optional[str]) –

  • salient_functions (List[mate_common.models.analyses.SalientFunction]) –

  • local_variable (str) –

  • alloc_contexts (List[str]) –

  • use (str) –

  • use_contexts (List[str]) –

Return type

None

alloc_contexts: List[str]
local_variable: str
use: str
use_contexts: List[str]
class mate.poi.analysis.UninitializedStackMemory.UninitializedStackMemory

Bases: mate.poi.poi_types.Analysis

run(session: Session, graph: CPG, _inputs: Dict[str, Any]) Iterable[POIGraphsPair]
Parameters
  • session (Session) –

  • graph (CPG) –

  • _inputs (Dict[str, Any]) –

Return type

Iterable[POIGraphsPair]

mate.poi.analysis.UninitializedStackMemory.alloca_to_localvar(cpg: db.Graph, alloca: str) Optional[LocalVariable]

Return the LocalVariable associated with a given Alloca uuid, if found.

Parameters
Return type

Optional[LocalVariable]

mate.poi.analysis.UninitializedStackMemory.compute_uninit_stack_mem(session: Session, cpg: db.Graph) Iterable[Tuple[Instruction, str, Instruction, str]]
Parameters
Return type

Iterable[Tuple[Instruction, str, Instruction, str]]