--- rpl/src/rpl.c 2015/01/30 07:53:15 1.166 +++ rpl/src/rpl.c 2015/02/01 09:47:19 1.167 @@ -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); @@ -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