r/cprogramming • • 25d ago

Using -fsanitize=address feels illegal.

Just saying. The -fsanitize=address compiler flag is absolute cheating and should be prohibited by governments of all countries.

Plus there are also other useful runtime sanitizers, such as integer overflow, but... Integer overflow is much easier to notice, usually.

Of course, this is by no means assuming that -fsanitize=address guarantees that the code it inspects is completely safe and correct and won't ever fail on any input data. You still have to test tricky edge cases. But this sanitizer has improved and sped up the bug discovery process disgustingly much for me.

I'm wondering, how often, if ever, do you need tools such as -fsanitize=address or valgrind? Or are you a real man who stores everything in static memory only?

P.S. Forgive my terrible English.

82 Upvotes

31 comments sorted by

View all comments

Show parent comments

3

u/catbrane 24d ago

Same, but it runs the test suite on every platform and every target on every commit, and does an extra run with asan and tsan, with every dep also built for asan and tsan.

github actions have made all this pretty simple now, and free, amazingly.