A default 'asan' test setup for ASan builds keeps meson's ASAN_OPTIONS (halt_on_error, abort_on_error, print_summary) and adds detect_stack_use_after_return=1. Without it, ASan never flagged the `yams daemon status -d` bug fixed in #353: a temporary request passed by reference into a coroutine that started after the temporary died. TSan found it by luck. The setup also points LSAN_OPTIONS at a new lsan.suppressions with one rule: OpenSSL's one-time config load during OPENSSL_init_crypto (first libcurl init) leaves a 904-byte per-thread error state that OpenSSL never frees. That leak failed mcp_submodule under gcc ASan. Signed-off-by: trvon <me@trevon.dev>
7 lines
436 B
Text
7 lines
436 B
Text
# LeakSanitizer suppressions for test runs (applied by the default 'asan' test setup in
|
|
# tests/meson.build). Keep each rule narrow and say why it is safe.
|
|
|
|
# OpenSSL's one-time config load during OPENSSL_init_crypto (reached through libcurl's first
|
|
# init) allocates per-thread error state that OpenSSL never frees. It is a single 904-byte
|
|
# block per process, owned by OpenSSL, and not reachable from YAMS code.
|
|
leak:ossl_init_config
|