[scudo] Handle predefined M_MEMTAG_TUNING_* constants (NFC).

Bionic <malloc.h> may provide the definitions of M_MEMTAG_TUNING_* constants.
Do not redefine them in that case.

Differential Revision: https://reviews.llvm.org/D104758
This commit is contained in:
Evgenii Stepanov 2021-06-22 16:40:17 -07:00
parent c9aaf34b8d
commit d693957e58
1 changed files with 9 additions and 7 deletions

View File

@ -120,7 +120,7 @@ size_t __scudo_get_ring_buffer_size();
// Tune the allocator's choice of memory tags to make it more likely that
// a certain class of memory errors will be detected. The value argument should
// be one of the enumerators of the scudo_memtag_tuning enum below.
// be one of the M_MEMTAG_TUNING_* constants below.
#ifndef M_MEMTAG_TUNING
#define M_MEMTAG_TUNING -102
#endif
@ -145,13 +145,15 @@ size_t __scudo_get_ring_buffer_size();
#define M_TSDS_COUNT_MAX -202
#endif
enum scudo_memtag_tuning {
// Tune for buffer overflows.
M_MEMTAG_TUNING_BUFFER_OVERFLOW,
// Tune for buffer overflows.
#ifndef M_MEMTAG_TUNING_BUFFER_OVERFLOW
#define M_MEMTAG_TUNING_BUFFER_OVERFLOW 0
#endif
// Tune for use-after-free.
M_MEMTAG_TUNING_UAF,
};
// Tune for use-after-free.
#ifndef M_MEMTAG_TUNING_UAF
#define M_MEMTAG_TUNING_UAF 1
#endif
} // extern "C"