ASan Use-After-Poison from C++17 and C++20 ABI Mismatch in Static Libraries
Summary A developer encountered a use-after-poison error triggered by AddressSanitizer (ASan) when linking a C++17 static library into a C++20 executable using MSVC. The error mysteriously disappeared when the executable’s standard was downgraded to match the library. This postmortem analyzes whether ABI (Application Binary Interface) instability caused by differing C++ standards can lead to memory … Read more