Доклады
-
Жора Бабаян Postgres Professional Разработчик- От SQL-запроса до C++ функции. Как PostgreSQL передаёт управление расширению на C++, где вызывается C++ код
- Чем PG_TRY/PG_CATCH отличается от try/catch, почему ошибка PostgreSQL не становится C++ исключением
- Перевод туда-обратно - как построить обёртки для вызовов PostgreSQL из C++ и C++ из PostgreSQL
- Как согласовать контексты памяти PostgreSQL с конструкторами, деструкторами и умными указателями
-
Александр Рябиков Системный архитектор ПАКВсе методы защиты стека от переполнения (исчерпания) направлены на выявление самого факта этого события, т.е. они ловят момент, когда память стека уже закончилась и продолжение выполнения программы становится невозможным. А что будет, если защиту стека от переполнения реализовать как проверку свободного места на стеке перед его использованием, пока стек ещё не разрушен? Тогда такую ошибку можно было бы реализовать как обычное программное исключение и корректно его обработать изнутри приложения вместо аварийного завершения программы. Но если эта идея настолько простая и лежит на поверхности, то почему это до сих пор не реализуется разработчиками компиляторов С++, а приложения при переполнении стека продолжают завершаться с Segmentation fault?
Надеюсь, что доклад будет полезен разработчикам прикладного и системного ПО, специалистам по безопасности и интересующимся теорией компиляторов на примере плагина для clang.