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().

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Другие средства работы со спин-блокировками

Из книги автора

Другие средства работы со спин-блокировками Функция spin_lock_init() используется для инициализации спин-блокировок, которые были созданы динамически (переменная типа spinlock_t, к которой нет прямого доступа, а есть только указатель на нее).Функция spin_try_lock() производит попытку


3. Средства мониторинга

Из книги автора

3. Средства мониторинга 3.1. Архитектура средств мониторинга Архитектура средств мониторинга в общем случае совпадает с архитектурой средств активной отладки, с той лишь разницей, что агенту отладки запрещено останавливать отлаживаемую задачу и модифицировать ее


1.5 Другие средства UNIX

Из книги автора

1.5 Другие средства UNIX С системой UNIX связано значительно больше проблем, чем те, которые мы обсудили в настоящей главе. Многие из них еще будут рассматриваться в этой книге. Теперь вы должны чувствовать себя увереннее в общении с системой и, в частности, уметь


Средства общения

Из книги автора

Средства общения На данный момент существует несколько систем, в той или иной степени обеспечивающих эффект присутствия собеседника. В первую очередь к ним относятся следующие.– Общение через веб-интерфейс. К этой категории относятся чаты, форумы, гостевые книги и пр.).


21.6. Средства мультимедиа

Из книги автора

21.6. Средства мультимедиа Операционная система Linux обладает довольно удобными программами для работы с мультимедиа-информацией. В состав практически любого дистрибутива Linux входит проигрыватель xmms. Эта программа представляет собой полный аналог популярной программы


8.3. Подручные средства

Из книги автора

8.3. Подручные средства Программы для борьбы с нежелательными почтовыми сообщениями, ориентированные на конечного пользователя, могут быть реализованы в виде плагинов к известным почтовым клиентам или самостоятельных решений. Одни приложения позволяют удалять спам


18.5.4. Средства преобразования

Из книги автора

18.5.4. Средства преобразования Вторая крупнейшая проблема, связанная с DocBook, состоит в необходимости преобразования старой разметки уровня представления в разметку DocBook. Человек обычно может автоматически преобразовать представление документа в логическую структуру,


18.5.4. Средства преобразования

Из книги автора

18.5.4. Средства преобразования Вторая крупнейшая проблема, связанная с DocBook, состоит в необходимости преобразования старой разметки уровня представления в разметку DocBook. Человек обычно может автоматически преобразовать представление документа в логическую структуру,


Средства конфигурации

Из книги автора

Средства конфигурации Компоновочные блоки можно инсталлировать как "приватные" или как "общедоступные". Приватные компоновочные блоки размещаются в том же каталоге (или, возможно, подкаталоге), что и использующее их приложение-клиент. Общедоступные компоновочные блоки,


8. Циклы и другие управляющие средства

Из книги автора

8. Циклы и другие управляющие средства При усложнении решаемых задач ход выполнения программ становится более запутанным. Чтобы иметь возможность управлять процессом выполнения программ и его организацией, вам попадаютя структуры и некоторые специальные операторы.


Средства ClassView

Из книги автора

Средства ClassView Конечно, вы можете продолжать набирать исходные тексты приложения вручную непосредственно в текстовом редакторе. Но во многих случаях среда VIsual C++ может оказать вам значительную помощь. Одним из средств, способных оказать вам такую помощь уже сейчас,


Средства ClassWizard

Из книги автора

Средства ClassWizard Разработка приложения не заканчивается, когда MFC AppWizard создаст для вас исходные файлы проекта. Теперь вы должны добавить к приложению собственный программный код, выполняющий основные функции приложения. Среда Microsoft Visual C++ версии 4.0 позволяет максимально


9.2 Средства

Из книги автора

9.2 Средства Важно предусмотреть обеспечение задач документирования соответствующими и подходящими средствами.Инструментальные программные средства полезны для подготовки и контроля документации. Они могут быть применены для повышения эффективности многих процессов


Инструментальные средства

Из книги автора

Инструментальные средства К инструментальным средствам редактирования нот относят как специально предназначенные для этого окна – нотаторы – так и различного рода инструментальные панели.Инструменты редактирования нот в CakewalkДля редактирования музыкальных