On 2015-01-28 20:59:50 +0100, Philippe Deleval wrote: > C'est une blague? A mon avis, tout programmeur utilisant la fonction de > bibliothèque C char *strcpy (s, ct) devrait être renvoyé de la boîte où il > travaille pour faute grave! Il y a à côté strncpy(char *strncpy (s, ct, n), > le petit n fait la différence.
Enfin, strncpy n'est pas vraiment safe non plus. Un problème est que si le n est trop petit, le buffer n'est plus forcément terminé par un \0, ce qui peut être en soi un trou de sécurité: si on copie la chaîne contenue dans le buffer, cela peut donc copier des données au-delà du buffer, et on se retrouve donc avec des bugs du type heartbleed. La vraie solution est d'avoir une fonction qui fait un abort() quand le n est trop petit... et si le serveur est critique, on n'écrit pas en C. -- Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers [email protected] En cas de soucis, contactez EN ANGLAIS [email protected] Archive: https://lists.debian.org/[email protected]

