From 7ef46e2a8f0eba24a4de1987633cfd0cce3bfaa8 Mon Sep 17 00:00:00 2001 From: Mike Dubman Date: Sat, 4 Apr 2015 15:07:41 +0300 Subject: [PATCH] fix: segv and clean hostname from HCA-\d+ --- ib2slurm.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ib2slurm.c b/ib2slurm.c index dcecae7..2665287 100644 --- a/ib2slurm.c +++ b/ib2slurm.c @@ -60,6 +60,11 @@ void output_nodelist(char *tag, int type, ib2slurm_opts_t* opts, ibnd_node_t* no if(opts->lookup_flag || type == IB_NODE_CA) { char* remote = node_name(port->remoteport->node, opts); + char *marker = strstr(remote," HCA-"); + if (marker) { + *marker = '\0'; + } + list_cur->str = remote; list_cur->next = (ib2slurm_list_t*)malloc(sizeof(ib2slurm_list_t)); @@ -183,7 +188,8 @@ int main(int argc, char** argv) opts.node_name_map = open_node_name_map(node_name_map_file); - if((fabric = ibnd_discover_fabric(ibd_ca, ibd_ca_port, NULL, 0)) == NULL) { + struct ibnd_config config = { 0 }; + if((fabric = ibnd_discover_fabric(ibd_ca, ibd_ca_port, NULL, &config)) == NULL) { fprintf(stderr, "IB discover failed.\n"); exit(EXIT_FAILURE); }