From b7b6c8e9ccf72cf62e0bb181d8fe2bc2196c4b7c Mon Sep 17 00:00:00 2001 From: guillaume didier Date: Fri, 3 Apr 2020 11:30:56 +0200 Subject: [PATCH] Add drop to safely deallocate memory --- cache_utils/src/mmap.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cache_utils/src/mmap.rs b/cache_utils/src/mmap.rs index f02662f..65968b2 100644 --- a/cache_utils/src/mmap.rs +++ b/cache_utils/src/mmap.rs @@ -1,5 +1,6 @@ #![cfg(feature = "std")] +use core::ffi::c_void; use core::ptr::null_mut; use core::slice::{from_raw_parts, from_raw_parts_mut}; use nix::sys::mman; @@ -43,3 +44,11 @@ impl MMappedMemory { unsafe { from_raw_parts_mut(self.pointer, self.size) } } } + +impl Drop for MMappedMemory { + fn drop(&mut self) { + unsafe { + mman::munmap(self.pointer as *mut c_void, self.size).unwrap(); + } + } +}