summaryrefslogtreecommitdiff
path: root/lib/cfi/cfi.cc
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2016-01-28 19:58:26 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2016-01-28 19:58:26 +0000
commit9e591805afd928e55f2baced405622215801183d (patch)
tree02ac21af651c10eacae4d026a2de184c254cf31d /lib/cfi/cfi.cc
parent947dc0b027d0b4b3268b7735243a0963cae7bfaf (diff)
[cfi] Simplify the code in CfiSlowPathCommon.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@259085 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/cfi/cfi.cc')
-rw-r--r--lib/cfi/cfi.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/cfi/cfi.cc b/lib/cfi/cfi.cc
index 8a32ab59d..524730f81 100644
--- a/lib/cfi/cfi.cc
+++ b/lib/cfi/cfi.cc
@@ -303,20 +303,15 @@ ALWAYS_INLINE void CfiSlowPathCommon(u64 CallSiteTypeId, void *Ptr,
VReport(3, "__cfi_slowpath: %llx, %p\n", CallSiteTypeId, Ptr);
ShadowValue sv = ShadowValue::load(Addr);
if (sv.is_invalid()) {
- // FIXME: call the ubsan handler if DiagData != nullptr?
VReport(1, "CFI: invalid memory region for a check target: %p\n", Ptr);
#ifdef CFI_ENABLE_DIAG
if (DiagData) {
__ubsan_handle_cfi_check_fail(
- reinterpret_cast<__ubsan::CFICheckFailData *>(DiagData),
- reinterpret_cast<uptr>(Ptr));
+ reinterpret_cast<__ubsan::CFICheckFailData *>(DiagData), Addr);
return;
- } else {
- Trap();
}
-#else
- Trap();
#endif
+ Trap();
}
if (sv.is_unchecked()) {
VReport(2, "CFI: unchecked call (shadow=FFFF): %p\n", Ptr);