--- rpl/src/rpl.c 2011/08/09 11:31:36 1.77 +++ rpl/src/rpl.c 2011/08/30 14:19:28 1.78 @@ -1858,6 +1858,7 @@ rplinit(int argc, char *argv[], unsigned (*s_etat_processus).l_base_pile = NULL; (*s_etat_processus).l_base_pile_last = NULL; + (*s_etat_processus).l_base_pile_undo = NULL; (*s_etat_processus).s_arbre_variables = NULL; (*s_etat_processus).l_liste_variables_par_niveau = NULL; @@ -3384,6 +3385,21 @@ rplinit(int argc, char *argv[], unsigned while(l_element_courant != NULL) { l_element_suivant = (*((struct_liste_chainee *) + l_element_courant)).suivant; + + liberation(s_etat_processus, + (*((struct_liste_chainee *) + l_element_courant)).donnee); + free((struct_liste_chainee *) l_element_courant); + + l_element_courant = l_element_suivant; + } + + l_element_courant = (void *) (*s_etat_processus) + .l_base_pile_undo; + while(l_element_courant != NULL) + { + l_element_suivant = (*((struct_liste_chainee *) l_element_courant)).suivant; liberation(s_etat_processus,