Использование копии объекта ФАЙЛ
Этот дефект возникает, когда:
Вы разыгрываете указатель на объект ФАЙЛ, включая косвенное разыгрывание при помощи memcmp()
.
Весь объект ФАЙЛ или один из его компонентов изменяется с помощью указателя.
Вы берете адрес объекта ФАЙЛ, который не был возвращен из вызова в fopen
-функция семейства. Дефект не возникает, если макрос задает указатель как адрес встроенного объекта ФАЙЛ, такого как #define ptr (&__stdout)
.
В некоторых реализациях адрес указателя на объект ФАЙЛ, используемый для управления потоком, значителен. Указатель на копию объекта ФАЙЛ интерпретируется по-другому, чем указатель на исходный объект, и потенциально может привести к операциям с неправильным потоком. Поэтому использование копии объекта ФАЙЛ может заставить программное обеспечение перестать отвечать, что атакующий может использовать в атаках отказа в обслуживании.
Не создавать копию объекта ФАЙЛ. Не используйте адрес объекта ФАЙЛ, который не был возвращен из успешного вызова в fopen
-функция семейства.
Группа: Программирование |
Язык: C | C++ |
По умолчанию: On для рукописного кода, off для сгенерированного кода |
Синтаксис командной строки
: FILE_OBJECT_MISUSE
|
Влияние: Низкое |