[PATCH] D104076: [clang-cl][sanitizer] Add -fsanitize-address-use-after-return to clang.
Kevin Athey via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 11 11:06:30 PDT 2021
kda added inline comments.
================
Comment at: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:2973
IRBuilder<> IRB(*C);
- switch (ClUseAfterReturn) {
- case AsanDetectStackUseAfterReturnMode::Always:
- for (int i = 0; i <= kMaxAsanStackMallocSizeClass; i++) {
- std::string Suffix = itostr(i);
- AsanStackMallocFunc[i] = M.getOrInsertFunction(
- kAsanStackMallocAlwaysNameTemplate + Suffix, IntptrTy, IntptrTy);
- AsanStackFreeFunc[i] =
- M.getOrInsertFunction(kAsanStackFreeNameTemplate + Suffix,
- IRB.getVoidTy(), IntptrTy, IntptrTy);
- }
- break;
- case AsanDetectStackUseAfterReturnMode::Runtime:
- for (int i = 0; i <= kMaxAsanStackMallocSizeClass; i++) {
- std::string Suffix = itostr(i);
- AsanStackMallocFunc[i] = M.getOrInsertFunction(
- kAsanStackMallocNameTemplate + Suffix, IntptrTy, IntptrTy);
- AsanStackFreeFunc[i] =
- M.getOrInsertFunction(kAsanStackFreeNameTemplate + Suffix,
- IRB.getVoidTy(), IntptrTy, IntptrTy);
- }
- break;
- case AsanDetectStackUseAfterReturnMode::Never:
- // Do Nothing
- break;
- case AsanDetectStackUseAfterReturnMode::Invalid:
- // Do Nothing
- break;
+ const char *kMallocNameTemplate = kAsanStackMallocNameTemplate;
+ if (ASan.UseAfterReturn == AsanDetectStackUseAfterReturnMode::Always) {
----------------
vitalybuka wrote:
> vitalybuka wrote:
> > vitalybuka wrote:
> > > it looks like unrelated patch
> > could you please fix clang-tidy: warnings
> now we insert functions also for Never and Invalid?
I was trying to only have one loop, since only one thing changes between the two.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104076/new/
https://reviews.llvm.org/D104076
More information about the llvm-commits
mailing list