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