Блок памяти освобождается только в том случае, если он был выделен с помощью функции 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