valgrind --tool = memcheck (инструмент по умолчанию) не обнаруживает таких проблем.
Существует экспериментальный инструмент valgrind --tool = exp-sgcheck, целью которого является обнаружение таких ошибок, но он никогда не работал должным образом, и инструмент, вероятно, будет удален из дистрибутива valgrind.
Насколько мне известно, gcc / clang sanitizer - это метод, используемый для обнаружения таких ошибок.