Windows XP SP2: Auswirkungen auf die Sicherheit
Pufferschutz in Aktion
Übersetzen Sie das Programm nun einmal mit dem Parameter /GS, also mit der folgenden Kommandozeilen-Variante:
cl /O2 /GS /ML /Ehsc unchecked.cpp
Das resultierende Programm enthält dann die Tests auf einen Puffer-Überlauf, die sich beim Start des Programms auch sofort bemerkbar machen: Das Programm stürzt nämlich nicht unkontrolliert ab - sondern kontrolliert. Dementsprechend erscheint auch eine Fehlermeldung der VC++-Laufzeitumgebung, die auf den Pufferüberlauf hinweist.
Genau dieses Verhalten ist nun also in Windows XP hineinkompiliert worden. Das hat im Wesentlichen eine Auswirkung auf Entwickler: Es gibt nun einen besseren Selbstschutz-Mechanismus, der verhindert, dass Windows-APIs mit falschen Parametern aufgerufen werden.