Warning C6518

Invalid annotation: 'SAL_writableTo' property may not be specified as a precondition on buffers that are not writable: 'Parameter'.

Remarks

This warning indicates that a conflict exists between a SAL_writableTo property value and a writable property. The warning ordinarily indicates that a writable property doesn't have write access to the parameter being annotated.

Code analysis name: WRITABLE_SIZE_ON_NON_WRITABLE_BUFFER

Example

The following code generates this warning because the _Out_ annotation compiles to include a SAL_writableTo property, which doesn't allow write access:

#include <sal.h>
void f(_Out_ const char* pc)
{
    //code that can't write to *pc ...
}

To correct this warning, use the following code:

#include <sal.h>
void f(_Out_  char* pc)
{
    pc = "Hello World";
    //code ...
}