Bonjour à tous,
Voilà mon problème que j'ai résolu mais dont je ne comprends pas l'origine.
J'ai une fonction qui prend en paramètre un int (int myInt) et 3 pointeurs de char (appelés char *pt1, char *pt2, char *pt3).
Le but de la fonction étant de faire une recherche de la variable pointé par pt2 (par dichotomie) dans la liste pointée par pt1 .
sachant que chaque composant de la liste pointée par pt1 est constitué de 2 éléments.
Une fois la valeur pointée par pt2 trouvée dans pt1, on fait donc pointer pt3 vers le 2eme éléments de la liste en utilisant la fonction strncpy.
Le problème était que lors de la copie vers pt3 j'avais un core dumped.
Après recherche (ayant déjà rencontré un problème identique auparavant), je me suis apperçu au début de la fonction que le pointeur pt3 était initialisé à NULL.
C'est cette initialisation qui pose problème puisqu'après l'avoir supprimé je n'ai plus de core dumped et le traitement se termine parfaitement bien.
Ma question est donc : pourquoi l'initialisation du pointeur à NULL en début de fonction pose problème sous Linux red hat 5 alors que ça ne posait aucun problème sous Unix tru64 ?
Merci d'avance pour votre aide