From 18df986c67c603dde9dabf32a7b3823b4794ea36 Mon Sep 17 00:00:00 2001 From: futile Date: Mon, 30 Dec 2024 18:26:41 +0000 Subject: [PATCH] fix a multitude of clippy warns --- src/process/handle.rs | 3 +++ src/process/memory.rs | 42 +++++++++++++++-------------------------- src/process/mod.rs | 2 ++ src/process/process.rs | 10 +++------- src/process/snapshot.rs | 2 +- 5 files changed, 24 insertions(+), 35 deletions(-) diff --git a/src/process/handle.rs b/src/process/handle.rs index b55c8a7..7af0192 100644 --- a/src/process/handle.rs +++ b/src/process/handle.rs @@ -8,6 +8,9 @@ use windows::Win32::System::Threading::{ #[derive(Debug, Default, Clone)] pub struct Handle(pub HANDLE); +unsafe impl Send for Handle {} +unsafe impl Sync for Handle {} + impl Deref for Handle { type Target = HANDLE; diff --git a/src/process/memory.rs b/src/process/memory.rs index 2a37711..6c77ae4 100644 --- a/src/process/memory.rs +++ b/src/process/memory.rs @@ -1,51 +1,39 @@ use super::handle::Handle; -use std::ffi::c_void; +use std::{ffi::c_void, ptr}; use windows::Win32::System::Diagnostics::Debug::{ReadProcessMemory, WriteProcessMemory}; -pub fn read_process_memory( - handle: &Handle, - address: usize, - value: &mut T, -) -> Result<(), crate::Error> { +pub fn read(handle: &Handle, address: usize, value: &mut T) -> Result<(), crate::Error> { unsafe { match ReadProcessMemory( handle.0, address as *const c_void, - value as *mut T as *mut c_void, + (ptr::from_mut::(value)).cast::(), size_of::(), None, ) { - Ok(()) => return Ok(()), - Err(why) => { - return Err(crate::Error::MemoryError(format!( - "failed to read memory: {why}" - ))); - } - }; + Ok(()) => Ok(()), + Err(why) => Err(crate::Error::MemoryError(format!( + "failed to read memory: {why}" + ))), + } } } -pub fn write_process_memory( - handle: &Handle, - address: usize, - value: &mut T, -) -> Result<(), crate::Error> { +pub fn write(handle: &Handle, address: usize, value: &mut T) -> Result<(), crate::Error> { unsafe { match WriteProcessMemory( handle.0, address as *const c_void, - value as *mut T as *mut c_void, + (ptr::from_mut::(value)).cast::(), size_of::(), None, ) { - Ok(()) => return Ok(()), - Err(why) => { - return Err(crate::Error::MemoryError(format!( - "failed to write memory: {why}" - ))); - } - }; + Ok(()) => Ok(()), + Err(why) => Err(crate::Error::MemoryError(format!( + "failed to write memory: {why}" + ))), + } } } diff --git a/src/process/mod.rs b/src/process/mod.rs index 86f55bd..e177c3c 100644 --- a/src/process/mod.rs +++ b/src/process/mod.rs @@ -1,3 +1,5 @@ +#![allow(clippy::module_inception)] + mod handle; mod memory; mod process; diff --git a/src/process/process.rs b/src/process/process.rs index 988e773..72edb8b 100644 --- a/src/process/process.rs +++ b/src/process/process.rs @@ -1,8 +1,4 @@ -use super::{ - handle::Handle, - memory::{read_process_memory, write_process_memory}, - snapshot, -}; +use super::{handle::Handle, memory, snapshot}; use derive_more::derive::Display; @@ -70,7 +66,7 @@ impl Process { pub fn read_mem(&self, address: usize) -> Result { let mut value = Default::default(); - read_process_memory(&self.handle, address, &mut value)?; + memory::read(&self.handle, address, &mut value)?; Ok(value) } @@ -96,7 +92,7 @@ impl Process { } pub fn write_mem(&self, address: usize, mut value: T) -> Result<(), crate::Error> { - write_process_memory(&self.handle, address, &mut value)?; + memory::write(&self.handle, address, &mut value)?; Ok(()) } } diff --git a/src/process/snapshot.rs b/src/process/snapshot.rs index 81188d7..9900142 100644 --- a/src/process/snapshot.rs +++ b/src/process/snapshot.rs @@ -98,7 +98,7 @@ impl Module { let path = String::from_utf16_lossy(&module_entry_32_w.szExePath) .trim_end_matches('\0') .to_string(); - let module = Module { + let module = Self { process_id: pid, name, path,