>
>
>
V018. False Alarm marks without hash co…


V018. False Alarm marks without hash codes were ignored because the 'V_HASH_ONLY' option is enabled.

Наличие предупреждения V018 в отчёте означает, что в исходном коде анализируемой программы содержатся строчки, отмеченные False Alarm меткой без хэша, и при этом в настройках анализатора включена опция V_HASH_ONLY.

//V_HASH_ONLY ENABLE

Если включить эту настройку, то в следующем фрагменте False Alarm метка на первой строчке не сработает:

int b = a; //-V614
int* c = nullptr;
b = *c; //-V522 //-VH"1949"

Подробнее об этой настройке можно прочитать в документации.

Возможные способы исправления

Чтобы исправить данное срабатывание, можно добавить хеши к тем False Alarm меткам, в которых они отсутствуют. В этом случае предупреждения будут выдаваться, только если строчка, содержащая False Alarm метку с хэшем, изменилась после добавления этого хэша. Подробнее об этом режиме можно прочитать в этой и этой документации.

Помимо этого, можно убрать False Alarm метки без хешей.

Если способы, указанные выше, не подходят, то удалите настройку:

//V_HASH_ONLY ENABLE

Также настройку можно выключить через директиву:

//V_HASH_ONLY DISABLE

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