Ein Pufferüberlauf oder Pufferüberlauf , ist ein Problem, in dem ein Computerprogramm schreibt mehr Daten in einen Puffer , als es für diesen Puffer zugeordnet. Als Ergebnis werden die Daten zu einem benachbarten Teil des Speichers geschrieben werden, möglicherweise überschreiben andere Daten. Dies kann dazu führen, das Programm zu unberechenbar handeln , was möglicherweise zum Absturz bringen . Es kann auch genutzt werden, um die Ausführung von einem bösartigen Programm auszulösen. Als solches ist es immer ratsam , um Buffer Overflows in einem Programm zu vermeiden. Things You
Quellcode mit dem Pufferüberlauf
Compiler für die Sprache dieses Quellcodes
brauchen anzeigen Weitere Anweisungen
1
Verfeinern Sie Ihre Suche . Sie können dies durch Drucken Debug-Informationen und durch die Verhinderung Teile des Programms vom Laufen zu tun. Buffer Overflows kann schwer aufzuspüren , weil die Beweise nicht immer konsistent. Allerdings, wenn die Beweise haben Sie verschwindet, wenn ein Teil des Programms vom Laufen verhindert wird , ist es ein gutes Zeichen ist das Problem mit diesem Teil .
2
Lesen Sie den Quellcode. Wenn Sie ausreichend Ihre Suche verengt , durch den Quellcode für etwas, das möglicherweise dazu führen könnte einen Überlauf zu suchen. Manchmal ist es in einer Schleife , die über die Länge eines Arrays schreibt . Manchmal ist es eine Verkettung von Strings in einen String größer als der Puffer für diesen String zugeordnet.
3
Befestigen Sie den Fehler. Wenn das Problem Vergangenheit eines Arrays Grenzen schrieb , stellen Sie sicher , was verursacht , dass ordnungsgemäß ausgeführt , oder dass das Array ordnungsgemäß nach Bedarf angepasst. Stellen Sie sicher, dass alle String -Puffer groß genug sind , um die Saiten halten sie halten .
4
Nehmen präventive Maßnahmen. Verwenden Grenzen - Kontrollfunktionen , um so zu gewährleisten , dass der Speicher ist nie überschrieben. Dynamisch ändern Arrays wie nötig. Halten Sie vorsichtig Spur aller potenziellen Speicher schreibt , um sicherzustellen, dass sie nie an den falschen Bereich des Speichers zu schreiben.