diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2021-08-19 16:49:41 -0400 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2021-08-21 08:06:51 -0400 |
commit | 1903cfef0b318c861bd29f03c783815b1349cf6d (patch) | |
tree | 6fceb2c7b0facbad988f4512ae407fe0f20a192d | |
parent | 3f02b5b95e90d6be25aedf3f861e173182e815d7 (diff) | |
download | libgit2-1903cfef0b318c861bd29f03c783815b1349cf6d.tar.gz |
openssl: don't fail when we can't customize allocatorsethomson/openssl_valgrind
During valgrind runs, we try to swap out the OpenSSL allocators for our
own. This allows us to avoid some unnecessary warnings about usage.
Unfortunately, many builds of OpenSSL do not allow you to swap
allocators; for example FIPS builds and the builds running in CentOS.
Try to swap the allocators, but do not fail when they cannot be
customized.
-rw-r--r-- | src/streams/openssl.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/streams/openssl.c b/src/streams/openssl.c index d866832c6..01ce9ce2a 100644 --- a/src/streams/openssl.c +++ b/src/streams/openssl.c @@ -251,13 +251,18 @@ int git_openssl_stream_global_init(void) #endif #ifdef VALGRIND - /* Swap in our own allocator functions that initialize allocated memory */ - if (!allocators_initialized && + /* + * Swap in our own allocator functions that initialize + * allocated memory to avoid spurious valgrind warnings. + * Don't error on failure; many builds of OpenSSL do not + * allow you to set these functions. + */ + if (!allocators_initialized) { CRYPTO_set_mem_functions(git_openssl_malloc, git_openssl_realloc, - git_openssl_free) != 1) - goto error; - allocators_initialized = true; + git_openssl_free); + allocators_initialized = true; + } #endif OPENSSL_init_ssl(0, NULL); |