Указатель free
не сопровождаемый оператором сброса, чтобы очистить оставшиеся данные
Этот дефект происходит, когда указатель освобожден и не повторно присвоил другое значение. После освобождения указателя данные оперативной памяти все еще доступны. Чтобы очистить эти данные, указатель должен также быть установлен в NULL или другое значение.
Не сброс указателей может вызвать висячие указатели. Висячие указатели могут вызвать:
Освобождение уже освобождено память.
Чтение от или запись в уже освобожденный память.
Хакеры, выполняющие код, сохраненный в освобожденных указателях или с уязвимыми полномочиями.
После освобождения указателя, если это сразу не присвоено другому допустимому адресу, устанавливает указатель в NULL.
Группа: хорошая практика |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки: MISSING_FREED_PTR_RESET |
Удар: низко |
ID CWE: 415, 416, 825 |
Find defects (-checkers)
| Invalid free of pointer
| Use of previously freed pointer