From c2204b9dc362e2eec624a5916c3aec0b009193b6 Mon Sep 17 00:00:00 2001 From: alexis Date: Sun, 2 Oct 2016 21:20:22 +0300 Subject: [PATCH] Fix memory leak which is caused by function --- aes/aes/local_support.c | 2 ++ backprop/backprop/local_support.c | 2 ++ bfs/bulk/local_support.c | 2 ++ bfs/queue/local_support.c | 2 ++ fft/strided/local_support.c | 2 ++ fft/transpose/local_support.c | 2 ++ gemm/blocked/local_support.c | 3 ++- gemm/ncubed/local_support.c | 2 ++ kmp/kmp/local_support.c | 2 ++ md/grid/local_support.c | 2 ++ md/knn/local_support.c | 4 ++-- nw/nw/local_support.c | 2 ++ sort/merge/local_support.c | 2 ++ sort/radix/local_support.c | 2 ++ spmv/crs/local_support.c | 2 ++ spmv/ellpack/local_support.c | 2 ++ stencil/stencil2d/local_support.c | 2 ++ stencil/stencil3d/local_support.c | 2 ++ viterbi/viterbi/local_support.c | 2 ++ 19 files changed, 38 insertions(+), 3 deletions(-) diff --git a/aes/aes/local_support.c b/aes/aes/local_support.c index c9054de..a94d536 100644 --- a/aes/aes/local_support.c +++ b/aes/aes/local_support.c @@ -28,6 +28,7 @@ void input_to_data(int fd, void *vdata) { // Section 2: input-text s = find_section_start(p,2); parse_uint8_t_array(s, data->buf, 16); + free(p); } void data_to_input(int fd, void *vdata) { @@ -56,6 +57,7 @@ void output_to_data(int fd, void *vdata) { // Section 1: output-text s = find_section_start(p,1); parse_uint8_t_array(s, data->buf, 16); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/backprop/backprop/local_support.c b/backprop/backprop/local_support.c index 9e8e7d5..2ec1a50 100644 --- a/backprop/backprop/local_support.c +++ b/backprop/backprop/local_support.c @@ -51,6 +51,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,8); STAC(parse_,TYPE,_array)(s, data->training_targets, training_sets*possible_outputs); + free(p); } void data_to_input(int fd, void *vdata) { @@ -111,6 +112,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,6); STAC(parse_,TYPE,_array)(s, data->biases3, possible_outputs); + free(p); } diff --git a/bfs/bulk/local_support.c b/bfs/bulk/local_support.c index 93cfa92..3b62aa4 100644 --- a/bfs/bulk/local_support.c +++ b/bfs/bulk/local_support.c @@ -48,6 +48,7 @@ void input_to_data(int fd, void *vdata) { // Section 3: edge structures s = find_section_start(p,3); parse_uint64_t_array(s, (uint64_t *)(data->edges), N_EDGES); + free(p); } void data_to_input(int fd, void *vdata) { @@ -87,6 +88,7 @@ void output_to_data(int fd, void *vdata) { // Section 1: horizon counts s = find_section_start(p,1); parse_uint64_t_array(s, data->level_counts, N_LEVELS); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/bfs/queue/local_support.c b/bfs/queue/local_support.c index 93cfa92..3b62aa4 100644 --- a/bfs/queue/local_support.c +++ b/bfs/queue/local_support.c @@ -48,6 +48,7 @@ void input_to_data(int fd, void *vdata) { // Section 3: edge structures s = find_section_start(p,3); parse_uint64_t_array(s, (uint64_t *)(data->edges), N_EDGES); + free(p); } void data_to_input(int fd, void *vdata) { @@ -87,6 +88,7 @@ void output_to_data(int fd, void *vdata) { // Section 1: horizon counts s = find_section_start(p,1); parse_uint64_t_array(s, data->level_counts, N_LEVELS); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/fft/strided/local_support.c b/fft/strided/local_support.c index 9379143..6a361da 100644 --- a/fft/strided/local_support.c +++ b/fft/strided/local_support.c @@ -38,6 +38,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,4); parse_double_array(s, data->img_twid, FFT_SIZE/2); + free(p); } void data_to_input(int fd, void *vdata) { @@ -76,6 +77,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,2); parse_double_array(s, data->img, FFT_SIZE); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/fft/transpose/local_support.c b/fft/transpose/local_support.c index 9a821db..c6ae073 100644 --- a/fft/transpose/local_support.c +++ b/fft/transpose/local_support.c @@ -28,6 +28,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,2); STAC(parse_,TYPE,_array)(s, data->work_y, 512); + free(p); } void data_to_input(int fd, void *vdata) { @@ -58,6 +59,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,2); STAC(parse_,TYPE,_array)(s, data->work_y, 512); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/gemm/blocked/local_support.c b/gemm/blocked/local_support.c index b71d3c5..5c798df 100644 --- a/gemm/blocked/local_support.c +++ b/gemm/blocked/local_support.c @@ -30,7 +30,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,2); STAC(parse_,TYPE,_array)(s, data->m2, N); - + free(p); } void data_to_input(int fd, void *vdata) { @@ -56,6 +56,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->prod, N); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/gemm/ncubed/local_support.c b/gemm/ncubed/local_support.c index b26f424..4d69fa9 100644 --- a/gemm/ncubed/local_support.c +++ b/gemm/ncubed/local_support.c @@ -30,6 +30,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,2); STAC(parse_,TYPE,_array)(s, data->m2, N); + free(p); } @@ -56,6 +57,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->prod, N); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/kmp/kmp/local_support.c b/kmp/kmp/local_support.c index 680aa96..8e0ffee 100644 --- a/kmp/kmp/local_support.c +++ b/kmp/kmp/local_support.c @@ -28,6 +28,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,2); parse_string(s, data->input, STRING_SIZE); + free(p); } void data_to_input(int fd, void *vdata) { @@ -55,6 +56,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); parse_int32_t_array(s, data->n_matches, 1); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/md/grid/local_support.c b/md/grid/local_support.c index 087d287..7315b94 100644 --- a/md/grid/local_support.c +++ b/md/grid/local_support.c @@ -30,6 +30,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,2); STAC(parse_,TYPE,_array)(s, (double *)(data->position), 3*blockSide*blockSide*blockSide*densityFactor); + free(p); } void data_to_input(int fd, void *vdata) { @@ -58,6 +59,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, (double *)data->force, 3*blockSide*blockSide*blockSide*densityFactor); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/md/knn/local_support.c b/md/knn/local_support.c index 7adc292..eb92b37 100644 --- a/md/knn/local_support.c +++ b/md/knn/local_support.c @@ -42,7 +42,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,4); parse_int32_t_array(s, data->NL, nAtoms*maxNeighbors); - + free(p); } void data_to_input(int fd, void *vdata) { @@ -87,7 +87,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,3); STAC(parse_,TYPE,_array)(s, data->force_z, nAtoms); - + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/nw/nw/local_support.c b/nw/nw/local_support.c index 231307b..1d45871 100644 --- a/nw/nw/local_support.c +++ b/nw/nw/local_support.c @@ -28,6 +28,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,2); parse_string(s, data->seqB, BLEN); + free(p); } @@ -63,6 +64,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,2); parse_string(s, data->alignedB, ALEN+BLEN); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/sort/merge/local_support.c b/sort/merge/local_support.c index 3a47eaa..644ec88 100644 --- a/sort/merge/local_support.c +++ b/sort/merge/local_support.c @@ -23,6 +23,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->a, SIZE); + free(p); } void data_to_input(int fd, void *vdata) { @@ -47,6 +48,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->a, SIZE); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/sort/radix/local_support.c b/sort/radix/local_support.c index dd1bea2..bc9d3f2 100644 --- a/sort/radix/local_support.c +++ b/sort/radix/local_support.c @@ -23,6 +23,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->a, SIZE); + free(p); } void data_to_input(int fd, void *vdata) { @@ -47,6 +48,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->a, SIZE); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/spmv/crs/local_support.c b/spmv/crs/local_support.c index 8e4e8ed..c50e929 100644 --- a/spmv/crs/local_support.c +++ b/spmv/crs/local_support.c @@ -40,6 +40,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,4); STAC(parse_,TYPE,_array)(s, data->vec, N); + free(p); } void data_to_input(int fd, void *vdata) { @@ -71,6 +72,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->out, N); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/spmv/ellpack/local_support.c b/spmv/ellpack/local_support.c index ecf6e1a..1d4fd87 100644 --- a/spmv/ellpack/local_support.c +++ b/spmv/ellpack/local_support.c @@ -35,6 +35,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,3); STAC(parse_,TYPE,_array)(s, data->vec, N); + free(p); } void data_to_input(int fd, void *vdata) { @@ -63,6 +64,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->out, N); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/stencil/stencil2d/local_support.c b/stencil/stencil2d/local_support.c index 488cf14..1e44c1e 100644 --- a/stencil/stencil2d/local_support.c +++ b/stencil/stencil2d/local_support.c @@ -30,6 +30,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,2); STAC(parse_,TYPE,_array)(s, data->filter, f_size); + free(p); } void data_to_input(int fd, void *vdata) { @@ -57,6 +58,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->sol, row_size*col_size); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/stencil/stencil3d/local_support.c b/stencil/stencil3d/local_support.c index 768da0a..0c7c5f4 100644 --- a/stencil/stencil3d/local_support.c +++ b/stencil/stencil3d/local_support.c @@ -28,6 +28,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,2); STAC(parse_,TYPE,_array)(s, data->orig, SIZE); + free(p); } void data_to_input(int fd, void *vdata) { @@ -53,6 +54,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); STAC(parse_,TYPE,_array)(s, data->sol, SIZE); + free(p); } void data_to_output(int fd, void *vdata) { diff --git a/viterbi/viterbi/local_support.c b/viterbi/viterbi/local_support.c index 820a259..5c3c3f4 100644 --- a/viterbi/viterbi/local_support.c +++ b/viterbi/viterbi/local_support.c @@ -38,6 +38,7 @@ void input_to_data(int fd, void *vdata) { s = find_section_start(p,4); STAC(parse_,TYPE,_array)(s, data->emission, N_STATES*N_TOKENS); + free(p); } void data_to_input(int fd, void *vdata) { @@ -71,6 +72,7 @@ void output_to_data(int fd, void *vdata) { s = find_section_start(p,1); parse_uint8_t_array(s, data->path, N_OBS); + free(p); } void data_to_output(int fd, void *vdata) {