• [^] # Re: Sécurité ?

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Un nouveau serveur httpd : Ashd, A Sane HTTP Daemon. Évalué à 2.

    La variable locale statique n'a aucun intérêt, si ce n'est d'introduire des bogues avec des variables globales cachées.

    En C, une bonne pratique consiste à demander au client (le code qui utilise la fonction) d'initialiser une zone mémoire et de fournir un pointeur sur cette zone avec la taille. Ça évite de prendre la responsabilité d'allouer de la mémoire, ou d'utiliser ce genre de bricolage.

    Ne pas prendre la responsabilité d'allouer de l'espace mémoire permet de laisser au client le choix de l'allocateur, du type de mémoire (automatique ou dynamique), etc.

    Et effectivement, en passant, si à chaque invocation l'application doit initialiser de la mémoire automatique statique pour une centaine de fonctions, ça va commencer à faire cher l'optimisation précoce.