--- rpl/src/rpl.c 2015/01/30 07:53:15 1.166 +++ rpl/src/rpl.c 2015/09/18 13:41:21 1.172 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.20 + RPL/2 (R) version 4.1.23 Copyright (C) 1989-2015 Dr. BERTRAND Joël This file is part of RPL/2. @@ -229,7 +229,7 @@ rplinit(int argc, char *argv[], char *en return(EXIT_FAILURE); } - if ((arg_exec = malloc((((size_t) argc) + 1) * sizeof(char *))) == NULL) + if ((arg_exec = sys_malloc((((size_t) argc) + 1) * sizeof(char *))) == NULL) { if ((*s_etat_processus).langue == 'F') { @@ -248,7 +248,7 @@ rplinit(int argc, char *argv[], char *en arg_exec[i] = argv[i]; } - argv[argc] = NULL; + arg_exec[argc] = NULL; initialisation_contexte_cas(s_etat_processus); @@ -5401,9 +5401,9 @@ rplinit(int argc, char *argv[], char *en { if ((*resultats) != NULL) { - free((*resultats)); + sys_free((*resultats)); - if (((*resultats) = malloc(((size_t) + if (((*resultats) = sys_malloc(((size_t) ((*s_etat_processus) .hauteur_pile_operationnelle + 1)) * sizeof(unsigned char **))) != NULL) @@ -5726,7 +5726,6 @@ rplinit(int argc, char *argv[], char *en pthread_mutex_destroy(&((*s_etat_processus).mutex_pile_processus)); pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation)); - pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer)); pthread_mutex_destroy(&((*s_etat_processus).mutex_interruptions)); pthread_mutex_destroy(&((*s_etat_processus).mutex_signaux)); pthread_mutex_destroy(&mutex_sections_critiques); @@ -5758,10 +5757,11 @@ rplinit(int argc, char *argv[], char *en erreur = d_erreur; } - free(arg_exec); + sys_free(arg_exec); arret_thread_signaux(s_etat_processus); liberation_etat_processus_readline(); liberation_allocateur_buffer(s_etat_processus); + pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer)); sys_free(s_etat_processus); # ifdef DEBUG_MEMOIRE