libsanitizer: Improve FrameIsInternal

`FrameIsInternal` is a function that improves report quality by filtering out
internal functions from the sanitizer, allowing it to point to a more precise
root cause. However, the current checks are mostly specific to compiler-rt,
so we are adding a few more rules to enhance the filtering for libsanitizer as
well.
This commit is contained in:
Kito Cheng 2024-11-06 17:35:46 +08:00
parent b53f7de3e6
commit 4d2cd30471

View File

@ -41,10 +41,18 @@ static bool FrameIsInternal(const SymbolizedStack *frame) {
return true;
if (file && internal_strstr(file, "\\compiler-rt\\lib\\"))
return true;
if (file && internal_strstr(file, "\\libsanitizer\\"))
return true;
if (module && (internal_strstr(module, "libclang_rt.")))
return true;
if (module && (internal_strstr(module, "clang_rt.")))
return true;
if (module && (internal_strstr(module, "libtsan.")
|| internal_strstr(module, "libhwasan.")
|| internal_strstr(module, "liblsan.")
|| internal_strstr(module, "libasan.")
|| internal_strstr(module, "libubsan.")))
return true;
return false;
}