Udostępnij za pośrednictwem


C6386

Ostrzeżenie C6386: przepełnienie buforu: uzyskując dostęp do <buffer name>, rozmiar do zapisu wynosi <size1> bajtów, ale <size2> bajtów może być zapisanych: linie: x, y

To ostrzeżenie wskazuje, że zakres zapisywalny określonego buforu może być mniejszy niż indeks używany do zapisu.Może to spowodować przepełnienie buforu.

Przykład

Poniższy kod generuje zarówno to ostrzeżenie jak i ostrzeżenie C6201:

#define MAX 25

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

Aby poprawić obydwa ostrzeżenia, należy użyć następującego kodu:

#define MAX 25

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

Zobacz też

Informacje

C6201