From fd9cf2b2d2bd6a5220dc52d5ed46eba0906018a5 Mon Sep 17 00:00:00 2001 From: Ivan Ukhov Date: Mon, 8 Jun 2015 13:33:26 -0400 Subject: [PATCH] Eliminate a memory leak in iterate --- src/database.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/database.rs b/src/database.rs index 1e70c36..a843a41 100644 --- a/src/database.rs +++ b/src/database.rs @@ -39,12 +39,12 @@ impl Database { pub fn iterate(&self, sql: &str, callback: F) -> Result<()> where F: FnMut(Vec<(String, String)>) -> bool { - use std::mem::transmute; + use std::ops::Deref; let callback = Box::new(callback); unsafe { success!(self, raw::sqlite3_exec(self.raw, str_to_c_str!(sql), Some(execute_callback::), - transmute::<_, *mut c_void>(callback), + callback.deref() as *const _ as *mut _ as *mut _, 0 as *mut _)); } Ok(())