Was ist Dangling Pointer (hängender Zeiger)?
Zeiger, der weiterhin auf einen Bereich zeigt, dessen Lebensdauer abgelaufen ist. Typisch sind ein Zeiger nach der Freigabe mit free und ein Zeiger auf die Adresse einer lokalen Variablen nach der Rückkehr aus der Funktion. Lesen oder Schreiben über ihn (Use-after-free) oder ein erneutes free (doppelte Freigabe) ist undefiniertes Verhalten; das Programm kann eine Zeit lang korrekt zu laufen scheinen und dann an anderer Stelle Fehler verursachen, deren Ursache schwer zu finden ist. Vorbeugen lässt sich etwa, indem man nach free NULL zuweist und keine Adressen lokaler Variablen aus der Funktion zurückgibt.
Japanische Bezeichnung: ダングリングポインタ
„Dangling Pointer (hängender Zeiger)“ kommt in 1 Übungsfragen aus 1 Themen vor, z. B. Grundlagen der Programmiersprache C.
Fachgebiet: Grundlagen der Programmiersprache C