Блок памяти освобождается только в том случае, если он был выделен с помощью функции Standard Library
Блок памяти освобождается только в том случае, если он был выделен с помощью функции Standard Library.
Стандартные функции библиотеки, которые выделяют память malloc
, calloc
и realloc
.
Вы освобождаете блок памяти, когда передаете его адрес в free
или realloc
функция. Следующее вызывает неопределенное поведение:
Вы освобождаете блок памяти, который не выделили.
Вы освобождаете блок памяти, который уже освободился раньше.
Проверить наличие этого правила можно только с помощью анализа Bug Finder.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Ресурсы |
Категория: Обязательная |
Категория AGC: Обязательно |
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