authorclover caruso <git@paperclover.net> 2026-10-10 22:03:31-07:00
committerclover caruso <git@paperclover.net> 2026-10-10 22:56:06-07:00
logb88c536f4fec9ca806cce92cc9ca46a498f3ef93
tree6a1bf20c4cd900c71cb8c66b4c8c06f4efa3bb03
parent6578d5a16cd452ade71e26f61943fe015f24df38
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU (~clover)

fix: dereference Linux symbol records before slice coercion

Iterator::filter borrows the array reference produced by as_chunks().iter(); remove that outer reference at the existing byte-slice boundary. Assisted-by: gpt-6.1-sol

1 files changed, 1 insertions(+), 1 deletions(-)

crates/snowbound/src/linux.rs+1-1
...@@ -947,7 +947,7 @@ pub fn symbolize(offsets: impl Iterator<Item = OsString>) -> Result<(), Box<dyn...@@ -947,7 +947,7 @@ pub fn symbolize(offsets: impl Iterator<Item = OsString>) -> Result<(), Box<dyn
947 .as_chunks::<24>()947 .as_chunks::<24>()
948 .0948 .0
949 .iter()949 .iter()
950 .filter(|symbol| symbol[4] & 15 == 2 && field(symbol, 16, 8) > 0)950 .filter(|symbol| symbol[4] & 15 == 2 && field(*symbol, 16, 8) > 0)
951 .map(|symbol| {951 .map(|symbol| {
952 let name = &strings[field(symbol, 0, 4)..];952 let name = &strings[field(symbol, 0, 4)..];
953 let start = field(symbol, 8, 8);953 let start = field(symbol, 8, 8);