mate.poi.analysis.UseAfterFree module

class mate.poi.analysis.UseAfterFree.UseAfterFree

Bases: mate.poi.poi_types.Analysis

run(session: Session, graph: db.Graph, _inputs: Dict[str, Any]) Iterable[POIGraphsPair]
Parameters
Return type

Iterable[POIGraphsPair]

class mate.poi.analysis.UseAfterFree.UseAfterFreePOI(*, insight: str, source: str = None, sink: str = None, salient_functions: List[mate_common.models.analyses.SalientFunction] = [], free: str, use: str, free_contexts: List[str], use_contexts: List[str])

Bases: mate_common.models.analyses.POI

This POI represents a potential place where a heap allocation is used after being freed.

Parameters
  • insight (str) –

  • source (Optional[str]) –

  • sink (Optional[str]) –

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

  • free (str) –

  • use (str) –

  • free_contexts (List[str]) –

  • use_contexts (List[str]) –

Return type

None

free: str
free_contexts: List[str]
use: str
use_contexts: List[str]
mate.poi.analysis.UseAfterFree.compute_use_after_free(session: Session, cpg: db.Graph) Iterable[Tuple[Instruction, Instruction, List[str], List[str]]]
Parameters
Return type

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