V737. It is possible that ',' comma is missing at the end of the string.


Анализатор заподозрил, что в списке инициализации массива случайно пропущена одна из запятых.

Рассмотрим пример:

int a[3][6] =   { { -1, -2, -3
                    -4, -5, -6 },
                  { ..... },
                  { ..... } };

После "-3" случайно пропущена запятая. Далее следует значение "-4". Получается выражение "-3-4". В результате код успешно и без предупреждений компилируется, но массив инициализирован неправильно. Значения "-5", и "-6" будут записаны не на свои позиции, а в последний элемент будет записан 0.

В итоге, на самом деле массив инициализируется так:

int a[3][6] =   { { -1, -2, -7,
                    -5, -6, 0 },
                  ..............

Правильный вариант (добавлена пропущенная запятая):

int a[3][6] =   { { -1, -2, -3,
                    -4, -5, -6 },
                  ..............

Согласно Common Weakness Enumeration, потенциальные ошибки, найденные с помощью этой диагностики, классифицируются как CWE-665.

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


Найденные ошибки

Проверено проектов
355
Собрано ошибок
13 303

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;