diff options
Diffstat (limited to 'lib/sanitizer_common/sanitizer_linux.cpp')
-rw-r--r-- | lib/sanitizer_common/sanitizer_linux.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/sanitizer_common/sanitizer_linux.cpp b/lib/sanitizer_common/sanitizer_linux.cpp index d23009075..0b53da6c3 100644 --- a/lib/sanitizer_common/sanitizer_linux.cpp +++ b/lib/sanitizer_common/sanitizer_linux.cpp @@ -1849,6 +1849,12 @@ SignalContext::WriteFlag SignalContext::GetWriteFlag() const { #endif } +bool SignalContext::IsTrueFaultingAddress() const { + auto si = static_cast<const siginfo_t *>(siginfo); + // SIGSEGV signals without a true fault address have si_code set to 128. + return si->si_signo == SIGSEGV && si->si_code != 128; +} + void SignalContext::DumpAllRegisters(void *context) { // FIXME: Implement this. } |