From 1903cfef0b318c861bd29f03c783815b1349cf6d Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Thu, 19 Aug 2021 16:49:41 -0400 Subject: openssl: don't fail when we can't customize allocators 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. --- src/streams/openssl.c | 15 ++++++++++----- 1 file 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); -- cgit v1.2.1