diff --git a/src/plugins/select/bluegene/bg_record_functions.c b/src/plugins/select/bluegene/bg_record_functions.c index e5d4d66cacb44d145b4b8ac26a2fe3fc523e5b44..c9ef4836237733914d7bf8feaa07576cc804fefd 100644 --- a/src/plugins/select/bluegene/bg_record_functions.c +++ b/src/plugins/select/bluegene/bg_record_functions.c @@ -387,9 +387,18 @@ extern void copy_bg_record(bg_record_t *fir_record, bg_record_t *sec_record) sec_record->magic = fir_record->magic; + xfree(sec_record->blrtsimage); + sec_record->blrtsimage = xstrdup(fir_record->blrtsimage); + + xfree(sec_record->linuximage); + sec_record->linuximage = xstrdup(fir_record->linuximage); + xfree(sec_record->mloaderimage); sec_record->mloaderimage = xstrdup(fir_record->mloaderimage); + xfree(sec_record->ramdiskimage); + sec_record->ramdiskimage = xstrdup(fir_record->ramdiskimage); + sec_record->modifying = fir_record->modifying; xfree(sec_record->nodes); diff --git a/src/plugins/select/bluegene/select_bluegene.c b/src/plugins/select/bluegene/select_bluegene.c index 8bfd8f764cd7dc6465b2a3d36437a7bfdf0cb5b5..9b611483cc0011190c28d62c6f28e66763c349e9 100644 --- a/src/plugins/select/bluegene/select_bluegene.c +++ b/src/plugins/select/bluegene/select_bluegene.c @@ -131,14 +131,33 @@ extern int select_p_alter_node_cnt(enum select_node_cnt type, void *data); static void _destroy_bg_config(bg_config_t *bg_conf) { if (bg_conf) { + if (bg_conf->blrts_list) { + list_destroy(bg_conf->blrts_list); + bg_conf->blrts_list = NULL; + } + xfree(bg_conf->bridge_api_file); + + xfree(bg_conf->default_blrtsimage); + xfree(bg_conf->default_linuximage); xfree(bg_conf->default_mloaderimage); + xfree(bg_conf->default_ramdiskimage); + + if (bg_conf->linux_list) { + list_destroy(bg_conf->linux_list); + bg_conf->linux_list = NULL; + } if (bg_conf->mloader_list) { list_destroy(bg_conf->mloader_list); bg_conf->mloader_list = NULL; } + if (bg_conf->ramdisk_list) { + list_destroy(bg_conf->ramdisk_list); + bg_conf->ramdisk_list = NULL; + } + xfree(bg_conf->slurm_user_name); xfree(bg_conf->slurm_node_prefix); xfree(bg_conf);