The general policy of glibc has always been that if a program is invoking undefined behavior, then fail-fast is the preferred behavior. We don't sacrifice significant performance to achieve fail-fast, but when it's easy it's always what we deem the "right" thing to do.