@@ -291,13 +291,9 @@ fn instrument_internal(
291291 let original_bytes = memory:: read_bytes ( address, step_len as usize ) ?;
292292 let original4 = memory:: read_bytes ( address, 4 ) ?;
293293
294- if step_len == 1 {
295- let _ = memory:: patch_u8 ( address, memory:: int3_opcode ( ) ) ?;
296- } else {
297- let mut trap_patch = vec ! [ 0x90u8 ; step_len as usize ] ;
298- trap_patch[ 0 ] = memory:: int3_opcode ( ) ;
299- let _ = memory:: patch_bytes_public ( address, & trap_patch) ?;
300- }
294+ let mut trap_patch = vec ! [ 0x90u8 ; step_len as usize ] ;
295+ trap_patch[ 0 ] = memory:: int3_opcode ( ) ;
296+ let _ = memory:: patch_bytes_public ( address, & trap_patch) ?;
301297
302298 let mut opcode = [ 0u8 ; 4 ] ;
303299 opcode. copy_from_slice ( & original4) ;
@@ -371,7 +367,7 @@ pub fn inline_hook(addr: u64, replace_fn: u64) -> Result<u32, SigHookError> {
371367 Err ( err) => return Err ( err) ,
372368 } ;
373369
374- let original = memory:: read_bytes ( addr, patch . len ( ) ) ?;
370+ let original = memory:: read_bytes ( addr, 16 ) ?;
375371 let inserted = unsafe { state:: cache_inline_patch ( addr, & original) ? } ;
376372 if let Err ( err) = memory:: patch_bytes_public ( addr, & patch) {
377373 if inserted {
@@ -403,7 +399,7 @@ pub fn inline_hook(addr: u64, replace_fn: u64) -> Result<u32, SigHookError> {
403399 memory:: encode_absolute_jump ( replace_fn) . to_vec ( )
404400 } ;
405401
406- let original = memory:: read_bytes ( addr, patch . len ( ) ) ?;
402+ let original = memory:: read_bytes ( addr, memory :: encode_absolute_jump ( 0 ) . len ( ) ) ?;
407403 let inserted = unsafe { state:: cache_inline_patch ( addr, & original) ? } ;
408404 if let Err ( err) = memory:: patch_bytes_public ( addr, & patch) {
409405 if inserted {
0 commit comments