Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V2511. MISRA. Memory allocation and...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V2511. MISRA. Memory allocation and deallocation functions should not be used.

19 Ноя 2018

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Анализатор выдаст предупреждение, если встретит использование функций и операторов выделения \ освобождения динамической памяти, таких как 'malloc'; 'realloc'; 'calloc'; 'free'; 'new'; 'delete'.

Функции работы с динамической памятью являются потенциальным источником проблем, так как их неправильное использование может привести к утечкам памяти, неопределённому поведению и прочим ошибкам. Более того – это может стать причиной возникновения уязвимости в приложении.

Пример кода, на который анализатор выдаст предупреждение:

int* imalloc(size_t cnt)
{
  return (int*)malloc(cnt * sizeof(int));
}

Для C анализатор также выдаст предупреждение, если обнаружит определение макроса с одним из соответствующих имён.

Данная диагностика классифицируется как:

  • CWE-676
  • MISRA-C-21.3
  • MISRA-CPP-18.4.1