Buffer Overflow nicht passiert
Ich habe diesen Beispiel-C-Code ausprobiert:
int main()
{
int array[5];
int i;
for (i = 0; i <= 255; i++)
{
array[i] = 10;
}
}
und kompiliere es mit:
gcc -m32 -o a.out buffer2.c
meine Frage ist, warum es keinen Segmentierungsfehler gibt?
Ich benutze Kali Linux 64
vendor_id: GenuineIntel
Modellname: Intel (R) Core (TM) i3-CPU M 350 @ 2,27 GHz
Architecture: x86_64
CPU-Betriebsmodus (e): 32-Bit, 64-Bit
Byte Bestellung: Little Endian
Ich habe den Code bearbeitet, indem ich diese beiden Zeilen hinzugefügt habe:
int main()
{
int x = 12;
int array[5];
int i;
for (i = 0; i <= 255; i++)
{
array[i] = 10;
}
printf("%d\n", x);
}
und das ist das Ergebnis:
10
Segmentation fault