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

Диагностическое правило основано на руководстве [MISRA](https://www.misra.org.uk/) \(Motor Industry Software Reliability Association\) по разработке программного обеспечения\.

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

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

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

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

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