aboutsummaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-10-30 19:58:50 +0100
committerDennis Brentjes <d.brentjes@gmail.com>2016-10-30 20:00:49 +0100
commit6d4efd424682f90896d5237ede4326416b6fa97d (patch)
tree3d535f5f3a1c148e465a51ee0afa027832d0b6e9 /node
parent7ecf4ae11df97efa2113dad8855eb8d9cb1a9498 (diff)
downloadcmix-6d4efd424682f90896d5237ede4326416b6fa97d.tar.gz
cmix-6d4efd424682f90896d5237ede4326416b6fa97d.tar.bz2
cmix-6d4efd424682f90896d5237ede4326416b6fa97d.zip
Fixes some memory leaks and consequent incorrect frees.
Diffstat (limited to 'node')
-rw-r--r--node/node.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/node/node.cpp b/node/node.cpp
index f5c8dbe..2e5fd32 100644
--- a/node/node.cpp
+++ b/node/node.cpp
@@ -93,7 +93,8 @@ void Node::handle_node_initialization(const cmix_proto::Initialization& init)
api.element_to_array(&data, &len, network_key);
sec.set_secret_key(data, len);
- free(data);
+
+ api.free_buffer(data);
next_node.async_send(sec);
} else {
@@ -104,7 +105,7 @@ void Node::handle_node_initialization(const cmix_proto::Initialization& init)
cmix_proto::Initialization init;
init.set_public_share(buffer, len);
- free(buffer);
+ api.free_buffer(buffer);
BOOST_LOG_TRIVIAL(trace) << "Sending intialization";
next_node.async_send(init);
@@ -156,11 +157,11 @@ void Node::handle_node_prepre(cmix_proto::PrePre const& pre) {
api.element_to_array(&buffer, &len, new_random_element);
prepre.add_r_er(buffer, len);
- free(buffer);
+ api.free_buffer(buffer);
api.element_to_array(&buffer, &len, new_message_element);
prepre.add_m_er(buffer, len);
- free(buffer);
+ api.free_buffer(buffer);
api.free_group_element(random_element);
api.free_group_element(message_element);
@@ -224,11 +225,11 @@ void Node::handle_client_keyexchange(ClientConnections::key_type handle, cmix_pr
api.element_to_array(&buffer, &len, keypair.pub);
exchange.set_public_key(buffer, len);
- free(buffer);
+ api.free_buffer(buffer);
api.element_to_array(&buffer, &len, ex_val);
exchange.set_value(buffer, len);
- free(buffer);
+ api.free_buffer(buffer);
api.free_group_element(ex_val);
@@ -339,15 +340,14 @@ void Node::start_precomputation() {
api.element_to_array(&buffer, &len, random_element);
prepre.add_m_er(buffer, len);
- free(buffer);
+ api.free_buffer(buffer);
api.element_to_array(&buffer, &len, message_element);
prepre.add_m_er(buffer, len);
- free(buffer);
+ api.free_buffer(buffer);
next_node.async_send(prepre);
- //ToDo generate permutation.
precomputation_data.emplace_back(MixData{r, s, pair.first, *perm_it++});
api.free_group_element(random_element);