Книга: Разработка приложений в среде Linux. Второе издание
7.5.3. Другие средства
7.5.3. Другие средства
Electric Fence не только помогает обнаружить переполнение буфера, но и может найти недогрузку буфера (выполняя доступ к памяти, расположенной перед началом выделяемого malloc()
буфера) и получает доступ к памяти, освобождаемой с помощью free()
. Если переменная окружения EF_PROTECT_BELOW
установлена в 1
, Electric Fence перехватывает недогрузку буфера вместо его переполнения. Это происходит путем размещения недоступной области памяти непосредственно перед фактической областью памяти, возвращаемой функцией malloc()
. При этом Electric Fence не сможет обнаружить переполнение буфера из-за страничной организации памяти, реализованной в большинстве процессоров. Выравнивание памяти может затруднить обнаружение переполнения буфера, однако оно не влияет на недогрузку буфера. Функция malloc()
из Electric Fence всегда возвращает адрес памяти в начале страницы, которая всегда выровнена по границе слова.
Если EF_PROTECT_FREE
установлена в 1
, free()
делает переданную ей область памяти недоступной, но не возвращает ее в пул свободной памяти. Если программа пытается получить доступ к этой памяти на любом этапе в будущем, ядро обнаружит несанкционированный доступ. Настройка EF_PROTECT_FREE
помогает удостовериться, что код ни на одном этапе выполнения не использует память, освобожденную с помощью free()
.
- Другие инструменты для осуществления резервного копирования
- Другие изменения в 7-й версии InterBase
- Датчик расположения и другие датчики
- 6.4 Другие файловые системы
- Другие предикаты сравнения
- Я установил программу и не хочу, чтобы другие пользователи о ней знали. Как скрыть ее?
- Можно ли интегрировать в пакет установки Windows Service Pack и другие обновления, чтобы потом не приходилось их устанав...
- Другие варианты подключения
- Как из-под учетной записи пользователя (без администраторских привилегий) включать и отключать оборудование и выполнять ...
- В Microsoft Word не всегда удобно выделять большие фрагменты текста мышью. Есть ли другие способы?
- Другие системные вызовы для управления файлами
- 12.5. Другие библиотеки для создания графических интерфейсов