# V2508. MISRA. The function with the 'atof/atoi/atol/atoll' name should not be used.

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

Анализатор выдаст предупреждение, если обнаружит использование следующих функций: 'atof', 'atoi', 'atol', 'atoll'.

Неправильное использование этих функций может привести к возникновению неопределённого поведения. Это может произойти, если аргумент функции не является валидной С-строкой или если результирующее значение выходит за границы возвращаемого типа.

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

    void Foo(const char *str)
    {
     int val = atoi(str);
     ....
    }

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

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

MISRA-C-2012-21.7 MISRA-C-2023-21.7 MISRA-CPP-2008-18.0.2