Basiswissen Buffer Overflow

14.05.2004
Von Thomas Wölfer

Puts liest das Zeichen das an der Adresse von Name liegt und überprüft, ob es sich dabei um eine "0" handelt. Ist das nicht der Fall, so stellt sie das Zeichen am Bildschirm dar. Die Adresse von Name, also die Adresse des ersten Zeichens, ist die 0. Wichtig: Nicht den Wert, der an einer Adresse liegt, mit der Adresse verwechseln. Es hilft hier wirklich, sich die Adressen als Hausnummern vorzustellen.

Puts ermittelt nun die nächste Adresse, indem es aktuelle Adresse um 1 erhöht. Daraus resultiert die Adresse 1. Das Zeichen an dieser Adresse ist ein "o" und wird also ausgegeben. Kommt Puts dann bei Adresse 6 an, findet es eine Null und hört mit seiner Arbeit auf. Am Bildschirm steht dann:

Kofler

Der zweite Aufruf von Puts arbeitet analog und verwendet als erste Adresse die von Vorname. Am Bildschirm steht dann:

KoflerHeinz

Nachdem die von Zufallswerten belegten Zellen immer nur hinter den abschließenden Null-Werten stehen, werden diese - ebenso wie die Null-Werte selbst - nicht ausgegeben.