From 153f510013e9d486103dac7994d7f75205af397a Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Thu, 29 Aug 2024 11:25:53 -0700 Subject: [PATCH] Do not destructure maybe-uninit fields --- src/symbolize/gimli/libs_dl_iterate_phdr.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/symbolize/gimli/libs_dl_iterate_phdr.rs b/src/symbolize/gimli/libs_dl_iterate_phdr.rs index 8cb91167..e15750ec 100644 --- a/src/symbolize/gimli/libs_dl_iterate_phdr.rs +++ b/src/symbolize/gimli/libs_dl_iterate_phdr.rs @@ -45,13 +45,10 @@ unsafe extern "C" fn callback( vec: *mut libc::c_void, ) -> libc::c_int { // SAFETY: We are guaranteed these fields: - let libc::dl_phdr_info { - dlpi_addr, - dlpi_name, - dlpi_phdr, - dlpi_phnum, - .. - } = unsafe { *info }; + let dlpi_addr = unsafe { (*info).dlpi_addr }; + let dlpi_name = unsafe { (*info).dlpi_name }; + let dlpi_phdr = unsafe { (*info).dlpi_phdr }; + let dlpi_phnum = unsafe { (*info).dlpi_phnum }; // SAFETY: We assured this. let libs = unsafe { &mut *vec.cast::>() }; // most implementations give us the main program first