From db03da82fd9ba932c1929ca96596665c199e1d31 Mon Sep 17 00:00:00 2001 From: Ravi Khadiwala Date: Thu, 30 Jun 2022 20:15:49 -0500 Subject: [PATCH] boring: Fix memory leak in `Deriver` --- boring/src/derive.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/boring/src/derive.rs b/boring/src/derive.rs index 20fe5c2e..08a47dfb 100644 --- a/boring/src/derive.rs +++ b/boring/src/derive.rs @@ -14,6 +14,14 @@ pub struct Deriver<'a>(*mut ffi::EVP_PKEY_CTX, PhantomData<&'a ()>); unsafe impl<'a> Sync for Deriver<'a> {} unsafe impl<'a> Send for Deriver<'a> {} +impl<'a> Drop for Deriver<'a> { + fn drop(&mut self) { + unsafe { + ffi::EVP_PKEY_CTX_free(self.0); + } + } +} + #[allow(clippy::len_without_is_empty)] impl<'a> Deriver<'a> { /// Creates a new `Deriver` using the provided private key.