# V626. It's possible that ',' should be replaced by ';'. Consider checking for typos.

Анализатор обнаружил потенциально возможную ошибку, связанную с тем, что вместо точки запятой ';' случайно написана запятая ','. Такая опечатка может привести к неправильной логике выполнения программы.

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

    int a;
    int b;
    ...
    if (a == 2)
      a++,
    b = a;

В результате выражение "b = a;" будет выполняться только когда верно условие оператора 'if', скорее всего произошла опечатка и следует заменить ',' на ';'. Корректный вариант кода:

    if (a == 2)
      a++;
    b = a;

Анализатор не будет обнаруживать ошибку, если форматирование фрагмента кода отражает преднамеренное использовать оператор ','. Пример кода:

    if (a == 2)
      a++,
      b = a;

    if (a == 2)
      a++, b = a;

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

CWE-483

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