Zerschmettere den Stapel

Definition - Was bedeutet Smash The Stack?

"Smash the Stack" ist eine umgangssprachliche Bezeichnung für die Bearbeitung eines Programms in bestimmten Programmiersprachen. Es bezieht sich im Allgemeinen auf Versuche, Änderungen beim zufälligen Speicherzugriff zu verursachen, die zu Fehlern und Problemsituationen führen können.

Das Zerschlagen des Stapels wird auch als Müll des Stapels, Kritzeln des Stapels oder Zerfleischen des Stapels bezeichnet.

Technische.me erklärt Smash The Stack

In C und verwandten Sprachen ist der Stapel ein abstrakter Datentyp, der zum Steuern des Speicherzugriffs verwendet wird, beispielsweise beim Zurückgeben von Variablen von einer Prozedur oder Funktion zu einer anderen oder beim Zuweisen von Variablen, die in Funktionen verwendet werden. Funktionen und Prozeduren übergeben Variablen untereinander, und so wird der zusammenhängende Stapel mit Funktionen wie einem Zeiger verwendet, um diese Art der dynamischen Zuordnung zu verwalten.

In C manipulieren die Befehle "push" und "pop" den Stapel. Das Zerschlagen des Stapels tritt auf, wenn Funktionsaufrufe über das Ende eines Arrays hinaus schreiben, was den Ausführungsstapel beschädigen und Fehler beim Speicherzugriff und bei der Verwendung von Speicheradressen verursachen kann. Dies könnte auch als Überlaufen des Puffers bezeichnet werden.