-fstack-protector, -fstack-protector-all и -fmudflap - PullRequest
6 голосов
/ 18 октября 2011

Do -fstack-protector и -fstack-protector-all также защищают выделения памяти на основе кучи или только на основе стека?

В чем разница между первыми 2 и -fmudflap?

Какие-либо рекомендации относительно того, что лучше для отладки?

(я не уверен, достаточно ли понятна справочная страница gcc или я просто не понимаю этого ...)

char foobar[10]; // stack-based

char *foobar = malloc(10); // heap-based

Ответы [ 2 ]

3 голосов
/ 18 октября 2011

-fstack-protector и -fstack-protector-all не имеют ничего общего с распределением кучи.
-fstack-protector защищает только строки (основная цель проблемы для атак переполнения буфера), -fstack-protector-all защищает все типы. Некоторые описания здесь: http://en.wikipedia.org/wiki/Buffer_overflow_protection

0 голосов
/ 18 октября 2011

Mudflap для проверки указателя.Смотрите этот pdf .Вам нужно будет установить соответствующие библиотеки, чтобы использовать эти функции gcc.Мне больше нравится valgrind для обнаружения таких ошибок, потому что нет необходимости перекомпилировать / перекомпоновывать и проще в использовании, но они также могут быть полезны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...