31 строку, то оно выдаст throw ServerNotSuitable(); Почему так?
Компилятор clang
Почему тут connect_reply вообще доживает до использования в строке 32?
Не знаю, но доживает как-то
> доживает как-то Объясни, пожалуйста, почему. Насколько я вижу, это локальная переменная в другой лямбде, вызов которой вообще говоря завершается до 32 строчки, и у тебя use-after-free (ну точнее вариация uaf когда память на стеке, но неважно)
Я сама не знаю, она по идее доживать не должна, но это делает
> это делает А почему ты считаешь, что доживает?
Потому что значение верное
И нету никаких ошибок сегментации
Ну сомнительная аргументация, может это верное значение перетирает что-то важное.
а ты со стеком их и не получишь
а чего, в 2к24 ещё компилятор не научился такие ошибки ловить в плюсах?
компилятор-то научился, лет 8 назад
только другого языка компилятор
А почему не ловит?
Потому что под санитайзерами надо запускаться
Он тоже ничего не умеет. Запрет просто использовать почти что ≠ отслеживание кривого использования
Обсуждают сегодня