C6386
Upozornění C6386: přetečení vyrovnávací paměti: při přístupu k <název vyrovnávací paměti> je zapisovatelná velikost <size1> bajtů, přitom však může být zapsáno <size2> bajtů: Řádky: x, y
Toto upozornění naznačuje, že zapisovatelný rozsah vyrovnávací paměť může být menší než index použitý pro zápis.To může způsobit přetečení vyrovnávací paměti.
Příklad
Následující kód vygeneruje toto upozornění i upozornění C6201:
#define MAX 25
void f ( )
{
char ar[MAX];
//Code ...
ar[MAX] = '\0';
}
Pro opravení obou upozornění použijte následující kód:
#define MAX 25
void f ( )
{
char a[MAX];
// code...
a[MAX - 1] = '\0';
}