C6387

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

warning C6387: <argument> may be <value>: this does not adhere to the specification for the function <function name>: Lines: x, y

This warning is raised if an annotated function parameter is being passed an unexpected value. For example, passing a potentially null value to a parameter that is marked with _In_ annotation generates this warning.

Example

The following code generates this warning because a null parameter is passed to f(char *):

  
#include <sal.h>  
  
_Post_ _Null_ char * g();  
  
void f(_In_ char *pch);  
  
void main()  
{  
    char *pCh = g();  
    f(pCh); // Warning C6387  
}  

To correct this warning, use the following code:

  
#include <sal.h>  
  
_Post_ _Notnull_ char * g();  
  
void f(_In_ char *pch);  
  
void main()  
{  
    char *pCh = g();  
    f(pCh);  
}  

See Also

Annotation Overview
strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l