Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Каждая идиома когда-то была проблемой - 11.09

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V2509. MISRA. The function with the 'abort/exit/getenv/system' name should not be used.

30 Июл 2026

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

Анализатор выдаст предупреждение, если обнаружит использование следующих функций: abort, exit, getenv, system. Если проект проверяется на соответствие MISRA C++ 2023, то данное ограничение распространяется только на функцию system.

Поведение перечисленных выше функций зависит от реализации. Кроме того, использование таких функций как system может являться причиной возникновения уязвимостей.

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

void Foo(FILE *pFile)
{
  if (pFile == NULL)
  {
    abort();
  }
  ....
}

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

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

  • CWE-676
  • MISRA-C-2012-Rule-21.8
  • MISRA-C-2023-Rule-21.8
  • MISRA-CPP-2008-Rule-18.0.3
  • MISRA-CPP-2023-Rule-21.2.3