From 8c5fa1c5627b9a5031efe2f256bc0272728e6612 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Mon, 13 Jan 2025 15:22:07 +0100 Subject: [PATCH] schema: fix pointer/length confusion in str_slice_to_range Signed-off-by: Wolfgang Bumiller --- proxmox-schema/src/de/cow3.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/proxmox-schema/src/de/cow3.rs b/proxmox-schema/src/de/cow3.rs index 73bf8b5a..c3badabf 100644 --- a/proxmox-schema/src/de/cow3.rs +++ b/proxmox-schema/src/de/cow3.rs @@ -153,17 +153,15 @@ impl<'o, 'i> Cow3<'o, 'i, str> { } pub fn str_slice_to_range(original: &str, slice: &str) -> Option> { - let bytes = original.as_bytes(); - - let orig_addr = bytes.as_ptr() as usize; - let slice_addr = slice.as_bytes().as_ptr() as usize; + let orig_addr = original.as_ptr() as usize; + let slice_addr = slice.as_ptr() as usize; let offset = slice_addr.checked_sub(orig_addr)?; - if offset > orig_addr + bytes.len() { + if offset > original.len() { return None; } - let end = offset + slice.as_bytes().len(); - if end > orig_addr + bytes.len() { + let end = offset + slice.len(); + if end > original.len() { return None; }