Salut!!
Dans l'un de mes codes, j'ai des variable qui ont point toutes vers les mêmes adresse sans aucunes raisons :
je ne mets pas tout le code car il est un peu long. Mais grosso modo je rensigne mac_address_src_2 et mac_address_dst_2 dans une boule while.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 char *save_temp; char *mac_address_src_1=malloc(sizeof(char)*20); char *mac_address_dst_1=malloc(sizeof(char)*20); char *mac_address_src_2=malloc(sizeof(char)*20); char *mac_address_dst_2=malloc(sizeof(char)*20); EtherHdr = (struct etherhdr *)packet; temp = str_split(ether_ntoa(EtherHdr->h_dest),":"); mac_address_dst_1=rebuild_mac(temp); printf(" adresse : %s\n",mac_address_dst_1); printf("taille adresse : %d\n",strlen(mac_address_dst_1));
Le problème c'est que les mac_addresss_src et _dst ont toutes les mêmes valuers à la fin de la boucle, ce qui n'est pas normal du fait des différentes allocation de mémoire (si je ne me trompe pas).
Si vous voyez ou je me suis trompé, n'hésitez pas à me le signaler.
Merci
Partager