084be3a8

Переполняющиеся буфера

Борьба с утечками ресурсов и переполняющимися буферами на языковом и внеязыковом уровне
Введение
Переполняющиеся буфера
Листинг 1 программа, демонстрируя невозможность определения размера блока по указателю
Листинг2 результат работы программы, определяющий размер блока по указателю
Листинг3 строка, реализованная в виде списка (простейшая реализация)
Листинг4 строка, реализованная в виде списка (продвинутая реализация)
Утечки ресурсов
Листинг 5 фрагмент типичной программы, страдающей утечками ресурсов
Листинг6 реконструированный вариант программы, свободный от утечек

Листинг7 стековые массивы с переменным размером, появившиеся в Стандарте C99
Листинг8 дизассемблерный фрагмент
Листинг9 макросы для динамического
Листинг10 исходный текст программы, использующий динамические стековые массивы
Листинг11 исходный код макроса
Листинг12 демонстрационный пример программы, использующей макрос auto_alloc
Заключение



Содержание раздела