Блок памяти освобождается только в том случае, если он был выделен посредством стандартной библиотечной функции
Блок памяти освобождается только в том случае, если он был выделен посредством стандартной библиотечной функции.
Функции стандартной библиотеки, выделяющие память: malloc, calloc и realloc.
Вы освобождаете блок памяти, когда передаете его адрес free или realloc функция. Ниже приведены причины неопределенного поведения.
Освободите блок памяти, который не был выделен.
Вы освободите блок памяти, который уже освободился раньше.
Это правило можно проверить только с помощью анализа Bug Finder.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Ресурсы |
| Категория: Обязательно |
| Категория СМЖЛ: обязательная |
Check MISRA C:2012 (-misra3) | Deallocation of previously deallocated pointer | Invalid free of pointer | MISRA C:2012 Dir 4.13 | MISRA C:2012 Rule 21.3