# V619. Array is used as pointer to single object.

Анализатор обнаружил, что к переменной, объявленной как массив данных, применяется оператор '->'. Подобный код может свидетельствовать о некорректном использовании структур данных, приводящее к неправильному заполнению полей структуры.

Рассмотрим пример некорректного кода:

    struct Struct {
      int r;
    };
    ...
    Struct ms[10];
    for (int i = 0; i < 10; i++)
    {
      ms->r = 0;
      ...
    }

Такое использование некорректно, поскольку будет проинициализирован только первый элемент массива. Возможно, произошла опечатка или должна быть использована другая переменная. Корректный вариант кода:

    Struct ms[10];
    for (int i = 0; i < 10; i++)
    {
      ms[i].r = 0;
      ...
    }

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

CWE-480 CERT-EXP08-C

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V619.