Оказывается, если в std::sort передать сравнивающую функцию, не устанавливающую строгий слабый порядок, то sort натурально полезет сравнивать произвольные несуществующие вещи за пределами массива и свалится. Я вообще-то ожидал, что просто плохо отсортирует.