Was ist Speicherleck (Memory Leak)?
Fehler, bei dem mit malloc o. Ä. reservierter Speicher nach der Verwendung nicht mit free freigegeben wird und auch der Zeiger auf den Bereich verloren geht, sodass der verfügbare Speicher schrumpft. Häufig wird die Freigabe auf einem Pfad vergessen, auf dem die Funktion wegen eines Fehlers vorzeitig zurückkehrt. Bei kurzen Programmen fällt das kaum auf, weil das Betriebssystem den Speicher beim Programmende zurückholt; bei lange laufenden Servern und Embedded-Geräten schrumpft der freie Speicher jedoch allmählich, bis eine Reservierung schließlich fehlschlägt. Erkennen lässt es sich etwa mit Valgrind oder AddressSanitizer (LeakSanitizer).
Japanische Bezeichnung: メモリリーク
„Speicherleck (Memory Leak)“ kommt in 2 Übungsfragen aus 2 Themen vor, z. B. Linker, Loader und ausführbare Formate, Grundlagen der Programmiersprache C.
Fachgebiet: Grundlagen der Programmiersprache C