diff --git a/src/common/slurmdbd_defs.c b/src/common/slurmdbd_defs.c index cb3842b428dd3ce405390a44b65fa8b2a54ae536..59d6f36d63a50f24a01260e456ae3d4191c39c64 100644 --- a/src/common/slurmdbd_defs.c +++ b/src/common/slurmdbd_defs.c @@ -2018,6 +2018,14 @@ static void *_agent(void *x) free_buf(buffer); fail_time = 0; } else { + /* We still need to free a mult_msg even if we + got a failure. + */ + if(list_msg.my_list) { + list_msg.my_list = NULL; + free_buf(buffer); + } + fail_time = time(NULL); } slurm_mutex_unlock(&agent_lock);