valgrind.supp: add obj:* location line — Valgrind 3.22 requires at least one non-'...' location entry in each suppression block. test_ct_sidechannel: ct_memzero test now uses a single aligned buffer instead of two separate heap arrays (bufs0/bufs1). The old design measured different memory addresses per class, causing cache-line timing artifacts (|t|=32.10) that are unrelated to ct_memzero itself.
28 lines
985 B
Plaintext
28 lines
985 B
Plaintext
# Valgrind Suppression File — UltrafastSecp256k1
|
|
#
|
|
# Purpose: suppress "still reachable" memory from program-lifetime allocations.
|
|
#
|
|
# The library maintains a ~2.5 MiB precomputed wNAF/comb table for the
|
|
# secp256k1 generator G. This table is allocated once (first use) and
|
|
# intentionally never freed — it lives for the entire process lifetime.
|
|
# Valgrind correctly classifies it as "still reachable" (a pointer to
|
|
# the block exists at program exit), NOT as a real leak.
|
|
#
|
|
# What IS still checked (will fail CI if found):
|
|
# • definitely lost (real leaks)
|
|
# • indirectly lost (real leaks)
|
|
# • possibly lost (potential leaks)
|
|
# • invalid read/write (memory errors)
|
|
# • use of uninitialised values
|
|
#
|
|
# CTest's -T MemCheck parser counts "still reachable" as a defect,
|
|
# so we suppress it here rather than weakening the error checks.
|
|
|
|
{
|
|
secp256k1_precomputed_tables_still_reachable
|
|
Memcheck:Leak
|
|
match-leak-kinds: reachable
|
|
obj:*
|
|
...
|
|
}
|