Sdílet prostřednictvím


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';
} 

Viz také

Referenční dokumentace

C6201