From c564dd5c456de2d27b43cb3888d998e814abba57 Mon Sep 17 00:00:00 2001 From: Olivier Roques Date: Wed, 11 Mar 2020 14:20:22 +0100 Subject: [HICN-546] Fix memory leak on producer side Fix a memory leak caused during the signing of packets on the producer side by releasing the signature when signing is done. Change-Id: I352885913e3a16d03fcc77116238928edb090e01 Signed-off-by: Olivier Roques --- libtransport/src/security/signer.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libtransport/src/security/signer.cc') diff --git a/libtransport/src/security/signer.cc b/libtransport/src/security/signer.cc index 314c3ea82..8a56cfa3d 100644 --- a/libtransport/src/security/signer.cc +++ b/libtransport/src/security/signer.cc @@ -162,12 +162,10 @@ void Signer::sign(Packet &packet) { } CryptoHash hash = hasher.finalize(); - signature_ = parcSigner_SignDigestNoAlloc(this->signer_, hash.hash_, packet.getSignature(), (uint32_t)signature_length_); PARCBuffer *buffer = parcSignature_GetSignature(signature_); - size_t bytes_len = parcBuffer_Remaining(buffer); if (bytes_len > signature_length_) { @@ -176,6 +174,8 @@ void Signer::sign(Packet &packet) { hicn_packet_copy_header(format, &header_copy, (hicn_header_t *)packet.packet_start_, false); + + parcSignature_Release(&signature_); } size_t Signer::getSignatureLength() { return signature_length_; } -- cgit 1.2.3-korg