From 061ee08da31601dc1658fe077086c1791ba25439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=A3rebe=20-=20Romain=20GERARD?= <erebe@erebe.eu> Date: Wed, 7 Feb 2024 08:54:55 +0100 Subject: [PATCH] fix(aya-sock-map): invalid transmute when calling fd Corrent an invalid transmutation for sock_map. fd is already a ref of MapFd, so transmuting &fd to &SockMapFd is equivalent to transmuting &&SockMapFd into &SockMapFd which is buggy. --- aya/src/maps/sock/sock_map.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aya/src/maps/sock/sock_map.rs b/aya/src/maps/sock/sock_map.rs index 42246c8b..090ccf84 100644 --- a/aya/src/maps/sock/sock_map.rs +++ b/aya/src/maps/sock/sock_map.rs @@ -77,7 +77,7 @@ impl<T: Borrow<MapData>> SockMap<T> { let fd: &MapFd = self.inner.borrow().fd(); // TODO(https://github.com/rust-lang/rfcs/issues/3066): avoid this unsafe. // SAFETY: `SockMapFd` is #[repr(transparent)] over `MapFd`. - unsafe { std::mem::transmute(&fd) } + unsafe { std::mem::transmute(fd) } } }