Das `defer`-Schlüsselwort in C: Ein Blitzangriff gegen Speicherlecks

2025-03-19
Das `defer`-Schlüsselwort in C: Ein Blitzangriff gegen Speicherlecks

Ein neues Feature kommt in C an: `defer`. Es fungiert als ein universeller "Rückgängigmachen"-Mechanismus und stellt sicher, dass eine Reihe von Anweisungen ausgeführt werden, unabhängig davon, wie ein Codeblock beendet wird. Dies ist entscheidend für die Bereinigung von Ressourcen wie das Freigeben von Speicher oder das Entsperren von Mutexen. `defer` baut auf bestehenden Compiler-Erweiterungen und ähnlichen Funktionen in anderen Programmiersprachen auf. Der Artikel beschreibt die Funktionalität von `defer`, den Gültigkeitsbereich und die Unterschiede zu ähnlichen Konstrukten in Go, mit Beispielen, die die Verwendung veranschaulichen. Der Autor fordert Compiler-Anbieter auf, `defer` schnell zu implementieren, um die Sicherheit und Wartbarkeit von C-Code zu verbessern und Speicherlecks wie die in CVE-2021-3744 zu verhindern.

Entwicklung