# V529. Suspicious semicolon ';' after 'if/for/while' operator.

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

Приведем пример:

    for (i = 0; i < n; i++);
    {
      Foo(i);
    }

Корректный вариант:

    for (i = 0; i < n; i++)
    {
      Foo(i);
    }

Использование точки с запятой ';' сразу после оператора for или while само по себе не является ошибкой и часто встречается в коде. Поэтому анализатор отсевает многие случаи, руководствуясь рядом дополнительных факторов. Например, следующий пример кода считается анализатором безопасным:

    for (depth = 0, cur = parent; cur; depth++, cur = cur->parent)
      ;

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

CWE-670 CERT-EXP15-C

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