diff libpam-sys/libpam-sys-test/build.rs @ 139:33b9622ed6d2

Remove redundant memory management in nonstick::libpam; fix UB. - Uses the libpam-sys-helpers BinaryPayload / OwnedBinaryPayload structs to handle memory management and parsing for Linux-PAM binary messages. - Gets rid of the (technically) undefined behavior in PtrPtrVec due to pointer provenance. - Don't check for malloc failing. It won't, even if it does. - Formatting/cleanups/etc.
author Paul Fisher <paul@pfish.zone>
date Thu, 03 Jul 2025 23:57:49 -0400
parents 999bf07efbcb
children 4b3a5095f68c
line wrap: on
line diff
--- a/libpam-sys/libpam-sys-test/build.rs	Thu Jul 03 20:55:40 2025 -0400
+++ b/libpam-sys/libpam-sys-test/build.rs	Thu Jul 03 23:57:49 2025 -0400
@@ -28,7 +28,6 @@
                 "__LINUX_PAM_MINOR__",
                 "PAM_AUTHTOK_RECOVER_ERR",
             ],
-            ..Default::default()
         },
         PamImpl::OpenPam => TestConfig {
             headers: vec![
@@ -95,8 +94,10 @@
             .map(|item| {
                 let name = item.ident.to_string();
                 if let Some(stripped) = name.strip_prefix(&format!("{REDIR_FD}_")) {
-                    format!("assert_eq!(generated::{name} as i32, libpam_sys::{REDIR_FD}::{stripped}.into());");
-                    format!("assert_eq!((generated::{name} as i32).try_into(), Ok(libpam_sys::{REDIR_FD}::{stripped}));")
+                    format!("\
+                        assert_eq!(generated::{name} as i32, libpam_sys::{REDIR_FD}::{stripped}.into());\
+                        assert_eq!((generated::{name} as i32).try_into(), Ok(libpam_sys::{REDIR_FD}::{stripped}));\
+                    ")
                 } else {
                     format!("assert_eq!(generated::{name} as i32, libpam_sys::{name});")
                 }