aboutsummaryrefslogtreecommitdiff
path: root/libcmix-crypto/api.h
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 /libcmix-crypto/api.h
parent7ecf4ae11df97efa2113dad8855eb8d9cb1a9498 (diff)
downloadcmix-6d4efd424682f90896d5237ede4326416b6fa97d.tar.gz
cmix-6d4efd424682f90896d5237ede4326416b6fa97d.tar.bz2
cmix-6d4efd424682f90896d5237ede4326416b6fa97d.zip
Fixes some memory leaks and consequent incorrect frees.
Diffstat (limited to 'libcmix-crypto/api.h')
-rw-r--r--libcmix-crypto/api.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libcmix-crypto/api.h b/libcmix-crypto/api.h
index f50cee0..8c40d23 100644
--- a/libcmix-crypto/api.h
+++ b/libcmix-crypto/api.h
@@ -53,6 +53,11 @@ typedef void(*ElementToArray)(unsigned char**, size_t* size, GroupElement);
/*!
*
*/
+typedef void(*BufferDeleter)(void*);
+
+/*!
+ *
+ */
typedef GroupElement(*ArrayToElement)(char const*, size_t size, bool);
/*!
@@ -93,6 +98,7 @@ struct Api {
KeyPairCreator create_key_pair; ///< Pointer to keypair creation function
KeyPairDeleter free_key_pair; ///< Pointer to keypair deletor function
ElementToArray element_to_array; ///< Get the array representation of a public key
+ BufferDeleter free_buffer; ///< frees library allocated buffers.
ArrayToElement array_to_element; ///< The the GroupElement representation of this array;
GroupElementGetter get_group_element; ///< get group element
GroupElementDeleter free_group_element; ///< frees a base type of the cryptolibrary.