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.