secure-software-engineering / phasar

A LLVM-based static analysis framework.
Other
930 stars 140 forks source link

fix VTables for collapsed types. #499

Closed MMory closed 2 years ago

MMory commented 2 years ago

llvm-link collapsed multiple C++ types with identical members to one single LLVM type. The current virtual function call resolution then only considers the VTable of the LLVM type that represents all of the collapsed type. Now, we look for all VTables that the function pointer aliases with and extract the possible callees from them.