Summary: * Implement enable() and disable() in GWP-ASan. * Setup atfork handler. * Improve test harness sanity and re-enable GWP-ASan in Scudo. Scudo_standalone disables embedded GWP-ASan as necessary around fork(). Standalone GWP-ASan sets the atfork handler in init() if asked to. This requires a working malloc(), therefore GWP-ASan initialization in Scudo is delayed to the post-init callback. Test harness changes are about setting up a single global instance of the GWP-ASan allocator so that pthread_atfork() does not create dangling pointers. Test case shamelessly stolen from D72470. Reviewers: cryptoad, hctim, jfb Subscribers: mgorny, jfb, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73294
11 lines
159 B
C++
11 lines
159 B
C++
#include "harness.h"
|
|
|
|
namespace gwp_asan {
|
|
namespace test {
|
|
bool OnlyOnce() {
|
|
static int x = 0;
|
|
return !x++;
|
|
}
|
|
} // namespace test
|
|
} // namespace gwp_asan
|