STRCPY(3) Manuel du programmeur Linux STRCPY(3)
NOM
strcpy, strncpy - Copier une chaîne.
SYNOPSIS
#include <string.h>
char *strcpy (char *dest, const char *src);
char *strncpy (char *dest, const char *src, size_t n);
DESCRIPTION
La fonction strcpy() copie la chaîne pointée par src (y
compris le caractère `\0' final) dans la chaîne pointée
par dest. Les deux chaînes ne doivent pas se chevaucher.
La chaîne dest doit être assez grande pour accueillir la
copie.
La fonction strncpy() est identique, sauf que seuls les n
premiers octets de src sont copiés. Ainsi, s'il n'y a pas
de caractère nul dans les n premiers octets de src, la
chaîne résultante ne disposera de caractère nul final.
Dans le cas où la longueur src est inférieure à n, la fin
de dest sera remplie avec des caractères nuls.
VALEUR RENVOYÉE
Les fonctions strcpy() et strncpy() renvoient un pointeur
sur la chaîne destination dest.
BUGS
Si la chaîne destination de strcpy() n'est pas assez
grande (c'est à dire si le programmeur est stupide ou
paresseux et n'a pas verifié la taille avant la copie)
tout peut arriver ! Le débordement de chaîne de car
actères de longueur fixée est l'une des techniques
préférées des pirates. Les caractères en excès peuvent en
effet déborder dans une zone de code ou de pile, et être
interprétés comme des instructions, qui seront exécutées
avec l'UID du programme. Il s'agit d'un moyen classique
d'obtenir un accès `root' avec les programmes Set-UID
système.
CONFORMITÉ
SVID 3, POSIX, BSD 4.3, ISO 9899
VOIR AUSSI
bcopy(3), memccpy(3), memcpy(3), memmove(3)
TRADUCTION
Christophe Blaess, 1997.
GNU 25 Janvier 1997 1