|
Cette fonction ne fonctionnait pas dans les
bibliothèques Linux jusqu’à libc
5.0.9 incluse, car les arguments ‘aiguille’
(NDT: needle) et ‘meule_de_foin’ (NDT: haystack)
étaient inversés. De plus la
fonction renvoyait un pointeur sur la fin de la
première occurence de l’aiguille.
Comme la bibliothèque libc 5.0.9 est largement
répandue, cette fonction est dangereuse
à utiliser.
Un bug supplémentaire existe dans toutes les
bibliothèques libc : Si la chaîne
aiguille est vide, la fonction renvoie
meule_de_foin-1 (au lieu de meule_de_foin). La
bibliothèque GlibC (2.0.5) est encore pire,
puisqu’elle renvoie un pointeur sur le dernier octet
de la ‘meule_de_foin’. Ceci est
corrigé dans la GlibC 2.1
|