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

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

Анализатор выдаст предупреждение, если обнаружит использование следующих функций 'abort', 'exit', 'getenv', 'system'.

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

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

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

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

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

CWE-676 MISRA-C-2012-21.8 MISRA-C-2023-21.8 MISRA-CPP-2008-18.0.3