I would expect a mature code base like rsync to have a lot of unit tests and integration tests and frankly if there's not enough that such bugs haven't been caught; that should be your first use of LLMs in order to setup some deterministic guidelines when you do start making changes to your actual code.
I have been experimenting with both aforementioned styles with interesting results.
I've had a local LLM spending weeks trying to write tests. then debug those tests. then write antipatterns and patterns for those tests.
It's amusing. It's not terrible, but tests arn't going to save you from a malicious tester.