C6386

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 C6386: buffer overrun: accessing <buffer name>, the writable size is <size1> bytes, but <size2> bytes may be written: Lines: x, y

This warning indicates that the writable extent of the specified buffer might be smaller than the index used to write to it. This can cause buffer overrun.

Example

The following code generates both this warning and C6201:

#define MAX 25  
  
void f ( )  
{  
  char ar[MAX];  
  //Code ...  
  ar[MAX] = '\0';  
}  

To correct both warnings, use the following code:

#define MAX 25  
  
void f ( )  
{  
   char a[MAX];  
   // code...  
   a[MAX - 1] = '\0';  
}   

See Also

C6201