strsafe.h
strsafe.h — это нестандартный заголовочный файл C, входящий в состав Windows SDK, начиная с пакета обновления 2 для Windows XP. [ 1 ] это обеспечивает более безопасную обработку буфера, чем та, которая предоставляется стандартными строковыми функциями C , которые, как широко известно, имеют проблемы с безопасностью, связанные с переполнением буфера при неправильном использовании.
Описание
[ редактировать ]Функции, включенные в strsafe.h, заменяют стандартную обработку строк C и функции ввода-вывода, включая printf
, strlen
, strcpy
и strcat
. [ 2 ] Функции strsafe требуют длину строки в символах или байтах в качестве параметра, и если операция превысит длину целевого буфера, операция завершается неудачно, и строка по-прежнему завершается нулевым значением в своем окончательном допустимом индексе, поэтому использование в других функциях библиотеки это не приведет к неопределенному поведению. [ 1 ] [ 2 ] Независимые исследователи безопасности отметили, что проблемы безопасности по-прежнему возможны с функциями из strsafe.h, если им не передана правильная длина буфера. [ 3 ] Использование этой библиотеки рекомендовано Министерством внутренней безопасности США. [ 4 ]
Ссылки
[ редактировать ]- ^ Перейти обратно: а б «О Strsafe.h (Windows)» .
- ^ Перейти обратно: а б Рихтер, Джеффри; Нассар, Кристоф. Windows через C/C++ пятое издание . Майкрософт Пресс. стр. 11–32. ISBN 9780735663770 .
- ^ Дасвани, Нил; Керн, Кристофер; Кесаван, Анита. Основы безопасности: что нужно знать каждому программисту . ООО «Апресс Медиа». п. 121. ИСБН 9781590597842 .
- ^ Плакош, Дэниел. «Strsafe.h | Встроенная безопасность» .
Внешние ссылки
[ редактировать ]