From 90e4c95f211a5cc1546121c1a627811c1b216ef5 Mon Sep 17 00:00:00 2001 From: ab63 Date: Thu, 13 Jun 2024 12:40:49 +0100 Subject: [PATCH 1/2] fix inappropriate free and malloc --- src/generateCavemanVCFUnmatchedNormalPanel.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/generateCavemanVCFUnmatchedNormalPanel.c b/src/generateCavemanVCFUnmatchedNormalPanel.c index a9bbf09..84c9bcb 100644 --- a/src/generateCavemanVCFUnmatchedNormalPanel.c +++ b/src/generateCavemanVCFUnmatchedNormalPanel.c @@ -303,7 +303,7 @@ List *gen_panel_get_list_of_samples_and_locs(){ char *bamchar = NULL; samples = List_create(); //Iterate through list of sample_names using comma as separator - char *new_sample_names = malloc((strlen(sample_names)+1) * sizeof(char)); + char *new_sample_names = calloc((strlen(sample_names)+1), sizeof(char)); check_mem(new_sample_names); sampchar = strtok(sample_names,","); while(sampchar != NULL){ @@ -316,7 +316,6 @@ List *gen_panel_get_list_of_samples_and_locs(){ sampchar = strtok(NULL,","); List_push(samples,this_samp); } - free(sampchar); bamchar = strtok(bam_file_locs,","); LIST_FOREACH(samples, first, next, cur){ From f520b87ccbcaf5129aa30bc1e605144d7859bc7b Mon Sep 17 00:00:00 2001 From: ab63 Date: Thu, 13 Jun 2024 13:33:27 +0100 Subject: [PATCH 2/2] leave space for null teminator when allocating memory (and fix setup.sh!) --- setup.sh | 2 -- src/generateCavemanVCFUnmatchedNormalPanel.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/setup.sh b/setup.sh index 02e666a..2c49f1a 100755 --- a/setup.sh +++ b/setup.sh @@ -123,8 +123,6 @@ else touch $SETUP_DIR/caveman.success fi -exit - # cleanup all junk rm -rf $SETUP_DIR make clean diff --git a/src/generateCavemanVCFUnmatchedNormalPanel.c b/src/generateCavemanVCFUnmatchedNormalPanel.c index 84c9bcb..92bb2eb 100644 --- a/src/generateCavemanVCFUnmatchedNormalPanel.c +++ b/src/generateCavemanVCFUnmatchedNormalPanel.c @@ -303,7 +303,7 @@ List *gen_panel_get_list_of_samples_and_locs(){ char *bamchar = NULL; samples = List_create(); //Iterate through list of sample_names using comma as separator - char *new_sample_names = calloc((strlen(sample_names)+1), sizeof(char)); + char *new_sample_names = calloc((strlen(sample_names)+2), sizeof(char)); check_mem(new_sample_names); sampchar = strtok(sample_names,","); while(sampchar != NULL){