@@ -226,6 +226,8 @@ mca_coll_han_init_dynamic_rules(void)
226
226
"coll:han:mca_coll_han_init_dynamic_rules found an error on dynamic rules file %s "
227
227
"at line %d: unknown topo level '%s'\n" ,
228
228
fname , fileline , topo_lvl_name );
229
+ free (topo_lvl_name );
230
+ topo_lvl_name = NULL ;
229
231
goto file_reading_error ;
230
232
}
231
233
}
@@ -352,6 +354,7 @@ mca_coll_han_init_dynamic_rules(void)
352
354
"least %d and less than %d\n" ,
353
355
fname , fileline , target_comp_name , SELF , COMPONENTS_COUNT );
354
356
free (target_comp_name );
357
+ target_comp_name = NULL ;
355
358
goto file_reading_error ;
356
359
}
357
360
@@ -364,17 +367,23 @@ mca_coll_han_init_dynamic_rules(void)
364
367
"coll:han:mca_coll_han_init_dynamic_rules found an error on dynamic rules file %s "
365
368
"at line %d: cannot read the name/id of an algorithm\n" ,
366
369
fname , fileline );
370
+ free (target_comp_name );
371
+ target_comp_name = NULL ;
367
372
goto file_reading_error ;
368
373
}
369
374
algorithm_id = mca_coll_han_algorithm_name_to_id (coll_id , algorithm_name );
370
375
if (algorithm_id < 0 ) {
371
376
char * endp ;
372
377
algorithm_id = (int )strtol (algorithm_name , & endp , 10 );
378
+ free (algorithm_name );
379
+ algorithm_name = NULL ;
373
380
if (('\0' != * endp ) || !mca_coll_han_algorithm_id_is_valid (coll_id , algorithm_id )) {
374
381
opal_output_verbose (5 , mca_coll_han_component .han_output ,
375
382
"coll:han:mca_coll_han_init_dynamic_rules found an error on dynamic rules file %s "
376
383
"at line %d: unknown algorithm '%s' for %s\n" ,
377
384
fname , fileline , algorithm_name , coll_name );
385
+ free (target_comp_name );
386
+ target_comp_name = NULL ;
378
387
goto file_reading_error ;
379
388
}
380
389
}
0 commit comments