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

V2016. Consider inspecting the function call. The function was annotated as dangerous.

28 Июн 2021

Данное диагностическое правило добавлено по просьбе пользователей.

Анализатор обнаружил вызов функции, которая помечена пользователем как опасная/запрещенная.

Часто использование некоторых функций в проекте может быть запрещено. Например, в соответствии со стилем кодирования, который принят в проекте. Анализатор может находить использование таких функций, если они были размечены пользовательской аннотацией следующего вида:

//+V2016, function:foo
//+V2016, class:SomeClass, function:foo
//+V2016, namespace:SomeNamespace, class:SomeClass, function:foo

Например, пользователь отметил функцию 'malloc' следующим образом:

//+V2016, function:malloc

Теперь, если анализатор встретит вызов функции 'malloc', то выдаст предупреждение 1 уровня:

struct SomeStruct { .... };

void foo()
{
  struct SomeStruct *p = (SomeStruct *) malloc(....);
}

Пользователь может проаннотировать функцию, лежащую в любом пространстве имен и/или классе:

class A
{
  // ....
  void a(int);
  // ....
};

namespace BN
{
  class B
  {
    // ....
    void b(double);
    // ....
  };
}

//+V2016, class:A, function:a
//+V2016, namespace:BN, class:B, function:b

void foo()
{
  A a;
  a.a();   // <=

  BN::B b;
  b.b();   // <=
}

Примечание. По умолчанию пользовательские аннотации не применяются к виртуальным функциям. О том, как включить данный функционал, вы можете прочитать здесь.

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