# V527. The 'zero' value is assigned to pointer. Probably meant: *ptr = zero.

Подобная ошибка возникает в двух схожих ситуациях.

1) Анализатор обнаружил потенциально возможною ошибку, связанную с тем, что указателю на тип bool присваивается значение false. Высока вероятность, что забыта операция разыменования указателя. Пример:

    float Get(bool *retStatus)
    {
      ...
      if (retStatus != nullptr)
        retStatus = false;
      ...
    }

В данном коде забыт оператор '*'. Вместо возвращения статуса произойдет обнуление указателя retStatus. Корректный вариант кода:

    if (retStatus != nullptr)
      *retStatus = false;

2) Анализатор обнаружил потенциально возможною ошибку, связанную с тем, что указателю на тип char/wchar_t присваивается значение '\0' или L'\0'. Высока вероятность, что забыта операция разыменования указателя. Пример:

    char *cp;
    ...
    cp = '\0';

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

    char *cp;
    ...
    *cp = '\0';

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

CWE-351 CERT-INT36-C

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