--- rpl/src/gestion_variables.c 2015/01/28 22:17:39 1.88 +++ rpl/src/gestion_variables.c 2017/01/18 15:44:18 1.100 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.20 - Copyright (C) 1989-2015 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.26 + Copyright (C) 1989-2017 Dr. BERTRAND Joël This file is part of RPL/2. @@ -2236,14 +2236,19 @@ copie_arbre_variables(struct_processus * s_variable = (*((struct_variable *) (*l_element_courant).donnee)); - if ((s_variable.nom = strdup((*((struct_variable *) - (*l_element_courant).donnee)).nom)) == NULL) + if ((s_variable.nom = rpl_malloc(s_nouvel_etat_processus, + (strlen((*((struct_variable *) + (*l_element_courant).donnee)).nom) + 1) * + sizeof(unsigned char))) == NULL) { (*s_nouvel_etat_processus).erreur_systeme = d_es_allocation_memoire; return; } + strcpy(s_variable.nom, (*((struct_variable *) + (*l_element_courant).donnee)).nom); + if ((s_variable.objet = copie_objet(s_nouvel_etat_processus, (*((struct_variable *) (*l_element_courant).donnee)) .objet, 'P')) == NULL) @@ -2411,8 +2416,8 @@ copie_arbre_variables(struct_processus * return; } - if ((s_variable_statique.nom = malloc((strlen( - (*(*l_element_statique_courant).variable).nom) + 1) * + if ((s_variable_statique.nom = rpl_malloc(s_nouvel_etat_processus, + (strlen((*(*l_element_statique_courant).variable).nom) + 1) * sizeof(unsigned char))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;