summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Lambert <eric.lambert@seagate.com>2014-10-10 21:08:48 -0700
committerEric Lambert <eric.lambert@seagate.com>2014-10-10 21:08:48 -0700
commit0ec68bebb7dbad69cad237cb266551d47d6082f3 (patch)
tree908a7a58f42713e0517ac81d2108b3ed9d4d4915
parent1a34dd41470115c67f218d45c284bdc9bec10a56 (diff)
downloadliberasurecode-0ec68bebb7dbad69cad237cb266551d47d6082f3.tar.gz
fixed mem leaks in rs_vand and xor backend
-rw-r--r--src/backends/jerasure/jerasure_rs_vand.c2
-rw-r--r--src/builtin/xor_codes/xor_hd_code.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/backends/jerasure/jerasure_rs_vand.c b/src/backends/jerasure/jerasure_rs_vand.c
index ed0956e..fee7356 100644
--- a/src/backends/jerasure/jerasure_rs_vand.c
+++ b/src/backends/jerasure/jerasure_rs_vand.c
@@ -311,7 +311,7 @@ static int jerasure_rs_vand_exit(void *desc)
struct jerasure_rs_vand_descriptor *jerasure_desc = NULL;
jerasure_desc = (struct jerasure_rs_vand_descriptor*) desc;
-
+ free(jerasure_desc->matrix);
free(jerasure_desc);
return 0;
diff --git a/src/builtin/xor_codes/xor_hd_code.c b/src/builtin/xor_codes/xor_hd_code.c
index d072099..d34e2d3 100644
--- a/src/builtin/xor_codes/xor_hd_code.c
+++ b/src/builtin/xor_codes/xor_hd_code.c
@@ -182,6 +182,8 @@ static int fragments_needed_one_data_local(xor_code_t *code_desc,
int *missing_data = get_missing_data(code_desc, fragments_to_exclude);
int *missing_parity = get_missing_parity(code_desc, fragments_to_exclude);
int parity_index = index_of_connected_parity(code_desc, fragment_to_reconstruct, missing_parity, missing_data);
+ free(missing_data);
+ free(missing_parity);
if (parity_index < 0) {
return -1;