From 6ac25306fddb5bbf8637d8cf1376cd691e56c52f Mon Sep 17 00:00:00 2001 From: Chayim Refael Friedman Date: Wed, 16 Apr 2025 16:56:45 +0300 Subject: [PATCH] Fix signature of libc memory usage function on Linux A soundness issue! --- src/tools/rust-analyzer/crates/profile/src/memory_usage.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tools/rust-analyzer/crates/profile/src/memory_usage.rs b/src/tools/rust-analyzer/crates/profile/src/memory_usage.rs index f5b8eca060f9..1462259d627b 100644 --- a/src/tools/rust-analyzer/crates/profile/src/memory_usage.rs +++ b/src/tools/rust-analyzer/crates/profile/src/memory_usage.rs @@ -78,7 +78,8 @@ fn memusage_linux() -> MemoryUsage { let alloc = unsafe { libc::mallinfo() }.uordblks as isize; MemoryUsage { allocated: Bytes(alloc) } } else { - let mallinfo2: fn() -> libc::mallinfo2 = unsafe { std::mem::transmute(mallinfo2) }; + let mallinfo2: extern "C" fn() -> libc::mallinfo2 = + unsafe { std::mem::transmute(mallinfo2) }; let alloc = mallinfo2().uordblks as isize; MemoryUsage { allocated: Bytes(alloc) } }