--- rpl/src/instructions_p4.c 2012/12/13 16:59:41 1.40 +++ rpl/src/instructions_p4.c 2012/12/17 21:22:43 1.41 @@ -429,7 +429,7 @@ instruction_prvar(struct_processus *s_et (*(*s_etat_processus).pointeur_variable_courante).nom, (*(*s_etat_processus).pointeur_variable_courante) .variable_partagee, (*(*s_etat_processus) - .pointeur_variable_courante).origine) == d_faux) + .pointeur_variable_courante).origine) == NULL) { (*s_etat_processus).erreur_systeme = d_es; (*s_etat_processus).erreur_execution = d_ex_variable_non_definie; @@ -510,18 +510,18 @@ instruction_prusr(struct_processus *s_et } } - nb_variables = nombre_variables(s_etat_processus, - (*s_etat_processus).s_arbre_variables); + nb_variables = nombre_variables(s_etat_processus); if ((tableau = malloc(nb_variables * sizeof(struct_tableau_variables))) == NULL) { + liberation_mutexes_arbre_variables_partagees(s_etat_processus, + (*(*s_etat_processus).s_arbre_variables_partagees)); (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; } - liste_variables(s_etat_processus, tableau, 0, - (*s_etat_processus).s_arbre_variables); + liste_variables(s_etat_processus, tableau); s_objet.type = CHN;