10 Commits

Author SHA1 Message Date
Edward Thomson
fb1797de63 Merge remote-tracking branch 'origin/main' into libgit2-httpparser 2024-04-23 00:09:50 +01:00
Edward Thomson
64808a9a8e ci: fixes for fedora
Use fedora's valgrind instead of trying to build our own; omit false
positive leaks in getaddrinfo;
2024-04-23 00:07:48 +01:00
Edward Thomson
4504f2c5cf valgrind: suppress OpenSSL warnings 2024-03-18 10:33:44 +00:00
Edward Thomson
c9b80c2573 valgrind: suppress leaks in dlopen and newer libraries
dlopen sets up some thread-local state that isn't cleaned up by
`dlclose`.  Additionally, now that we're linking against different
versions of libssh2 and OpenSSL, we're seeing different leak signatures.
2021-08-24 16:23:46 -04:00
Edward Thomson
2ad3eb3e8e valgrind: add suppressions for undefined use
valgrind will warn that OpenSSL will use undefined data in connect/read
when talking to certain other TLS stacks.  Thankfully, this only seems
to occur when gcc is the compiler, so hopefully valgrind is just
misunderstanding an optimization.  Regardless, suppress this warning.
2019-11-24 17:29:38 +11:00
Edward Thomson
6df3ec4a52 valgrind: suppress libssh2_rsa_sha1_sign leaks 2019-11-24 16:49:35 +11:00
Edward Thomson
7adc32d525 valgrind: suppress kexinit leaks 2019-11-24 16:49:35 +11:00
Edward Thomson
5dc1be8d54 valgrind: suppress uninitialized reads in libcrypto
libcrypto will read uninitialized memory as entropy.  Suppress warnings
from this behavior.
2019-11-23 11:28:02 +11:00
Patrick Steinhardt
56d5b4432b valgrind: suppress memory leaks in libssh2_session_handshake
On Ubuntu, the combination of libgcrypt and libssh2 is quite old and
known to contain memory leaks. We thus have several functions listed in
our suppressions file that are known to leak. Due to a recent update of
libssh2 or libgcrypt, there now are new memory leaks caused by
libssh2_session_handshake and libssh2_init that cause the CI to fail.

Add a new suppression to fix the issue.
2019-09-21 18:21:47 +02:00
Patrick Steinhardt
d827b11b67 tests: execute leak checker via CTest directly
Right now, we have an awful hack in our test CI setup that extracts the
test command from CTest's output and then prepends the leak checker.
This is dependent on non-machine-parseable output from CMake and also
breaks on various ocassions, like for example when we have spaces in the
current path or when the path contains backslashes. Both conditions may
easily be triggered on Win32 systems, and in fact they do break our
Azure Pipelines builds.

Remove the awful hack in favour of a new CMake build option
"USE_LEAK_CHECKER". If specifying e.g. "-DUSE_LEAK_CHECKER=valgrind",
then we will set up all tests to be run under valgrind. Like this, we
can again simply execute ctest without needing to rely on evil sourcery.
2019-07-20 19:10:10 +02:00