STRCPY
Section: Manuel du programmeur Linux (3) Updated: 21 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
BOGUES
CONFORMITÉ
VOIR AUSSI
TRADUCTION
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.
BOGUES
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 caractè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
TRADUCTION
Christophe Blaess, 1996-2003.
|