mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-06-16 10:00:41 -04:00
Add a .github/workflows/valgrind.yml that runs the full suite under valgrind in a 2x2 matrix (user/root x pipe/tcp transport) and gates on memory errors. It uses --leak-check=no: rsync intentionally leaves file-list/socket/option memory unfreed at exit, so a leak check is inherently noisy; the gate flags uninitialised reads, invalid read/write, bad frees and uninit syscall params instead. Add testsuite/valgrind.supp covering the known-benign reports (rwrite strlcpy over-read on a non-NUL-terminated peer message, atomic_create/ delete_item st_mode read under fakeroot, libfakeroot msgsnd padding, plus popt/xxhash leaks for manual --leak-check audits). runtests.py --valgrind now loads it automatically.