]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
leak-detective: Add whitelist entries for AWS-LC
authorGerardo Ravago <gcr@amazon.com>
Wed, 6 Mar 2024 15:45:00 +0000 (10:45 -0500)
committerTobias Brunner <tobias@strongswan.org>
Thu, 7 Mar 2024 14:06:40 +0000 (15:06 +0100)
AWS-LC (and likely BoringSSL) uses thread specific data to store internal
library state which gets freed via a registered destructor when the thread
terminates. If this thread happens to be the main thread, which runs the
leak-detective evaluation, the detective won't observe the corresponding free
of the related memory and erroneously reports it as a leak.

The two places this happens are:
- `RAND_bytes` for storing internal RNG state.
- `ERR_put_error` for storing the per-thread OpenSSL error queue.

References strongswan/strongswan#1907
Closes strongswan/strongswan#2147

src/libstrongswan/utils/leak_detective.c

index 78a8a709f613670bb74b499466b119bb81bac217..292f68f0bf462e3f48216a2fb7451099bec1bd24 100644 (file)
@@ -632,6 +632,9 @@ static char *whitelist[] = {
        "CRYPTO_get_ex_new_index",
        /* OpenSSL libssl */
        "SSL_COMP_get_compression_methods",
+       /* AWS-LC */
+       "RAND_bytes",
+       "ERR_put_error",
        /* NSPR */
        "PR_CallOnce",
        /* libapr */