From c31cce4a368ac56b42196604ef110139d28a2f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=A3rebe=20-=20Romain=20GERARD?= 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> SockMap { 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) } } }