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

This error occurs in two similar cases.

1) The analyzer found a potential error: a pointer to bool type is assigned false value. It is highly probable that the pointer dereferencing operation is missing. For example:

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

The '*' operator is missing in this code. The operation of nulling the retStatus pointer will be performed instead of status return. This is the correct code:

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

2) The analyzer found a potential error: a pointer referring to the char/wchar_t type is assigned value '\0' or L'\0'. It is highly probable that the pointer dereferencing operation is missing. For example:

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

This is the correct code:

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

This diagnostic is classified as:

CWE-351 CERT-INT36-C

You can look at examples of errors detected by the V527 diagnostic.