yams/lsan.suppressions
trvon b248d938d6 test(asan): detect stack-use-after-return and suppress OpenSSL init leak
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>
2026-10-26 05:52:52 -06:00

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