Отмена выделения указателя без соответствующего динамического распределения
Этот дефект возникает, когда блок памяти, освобожденный с помощью free функция не была ранее выделена с помощью malloc, calloc, или realloc.
The free функция освобождает блок памяти, выделенный на куче. Если вы пытаетесь получить доступ к местоположению на куче, которую вы ранее не выделяли, может возникнуть отказ сегментации.
Проблема может выделить ошибки кодирования. Например, вы, возможно, хотели использовать free функция или предыдущий malloc функция на другом указателе.
В большинстве случаев можно исправить проблему, удалив free оператор. Если указателю не выделена память из кучы с malloc или calloc, вам не нужно освобождать указатель мыши. Вы можете просто повторно использовать указатель при необходимости.
Если проблема подсвечивает ошибку кодирования, такую как использование free или malloc на неправильном указателе исправьте ошибку.
Если проблема возникает из-за использования free функция для освобождения памяти, выделенной с помощью new оператор, замените free функция со delete оператор.
| Группа: Динамическая Память |
| Язык: C | C++ |
| По умолчанию: On |
Синтаксис командной строки: BAD_FREE |
| Влияние: Высокий |
| ИДЕНТИФИКАТОР CWE: 404, 590, 762 |