Le mot-clé `defer` en C : une offensive pour prévenir les fuites de mémoire
Une nouvelle fonctionnalité arrive en C : `defer`. Il agit comme un mécanisme de 'défaire' polyvalent, garantissant qu'un ensemble d'instructions est exécuté indépendamment de la façon dont un bloc de code se termine, crucial pour le nettoyage des ressources comme la libération de mémoire ou le déverrouillage des mutex. `defer` s'appuie sur des extensions de compilateur existantes et des fonctionnalités similaires dans d'autres langages. L'article détaille les fonctionnalités de `defer`, la portée et les différences avec des constructions similaires en Go, avec des exemples illustrant son utilisation. L'auteur exhorte les fournisseurs de compilateurs à implémenter `defer` rapidement pour améliorer la sécurité et la maintenabilité du code C, en prévenant les fuites de mémoire comme celles observées dans CVE-2021-3744.
Lire plus