From 178c025ecaf44ebdb18adf1758c8b0e973cc07d4 Mon Sep 17 00:00:00 2001 From: Andrew Gunnerson Date: Sat, 18 May 2024 17:44:01 -0400 Subject: [PATCH] Fix clippy 1.78.0 lints Signed-off-by: Andrew Gunnerson --- avbroot/src/cli/avb.rs | 16 +++++++--------- avbroot/src/cli/ota.rs | 8 ++++---- avbroot/src/format/ota.rs | 10 +++++----- avbroot/src/patch/boot.rs | 4 ++-- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/avbroot/src/cli/avb.rs b/avbroot/src/cli/avb.rs index 6086326..1012408 100644 --- a/avbroot/src/cli/avb.rs +++ b/avbroot/src/cli/avb.rs @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2023 Andrew Gunnerson + * SPDX-FileCopyrightText: 2023-2024 Andrew Gunnerson * SPDX-License-Identifier: GPL-3.0-only */ @@ -94,15 +94,13 @@ fn write_info(path: &Path, info: &AvbInfo) -> Result<()> { /// Packing with insecure algorithms is intentionally not supported, so promote /// to a secure algorithm if needed. -fn promote_insecure_hash_algorithm(algorithm: &str) -> &str { +fn promote_insecure_hash_algorithm(algorithm: &mut String) { const INSECURE_ALGORITHMS: &[&str] = &["sha1"]; const NEW_ALGORITHM: &str = "sha256"; - if INSECURE_ALGORITHMS.contains(&algorithm) { + if INSECURE_ALGORITHMS.contains(&algorithm.as_str()) { warn!("Changing insecure hash algorithm {algorithm} to {NEW_ALGORITHM}"); - NEW_ALGORITHM - } else { - algorithm + NEW_ALGORITHM.clone_into(algorithm); } } @@ -193,13 +191,13 @@ fn write_raw_and_update( match info.header.appended_descriptor_mut()? { AppendedDescriptorMut::HashTree(d) => { - d.hash_algorithm = promote_insecure_hash_algorithm(&d.hash_algorithm).to_owned(); + promote_insecure_hash_algorithm(&mut d.hash_algorithm); d.image_size = image_size; d.update(&raw_file, &raw_file, None, cancel_signal) .context("Failed to update hash tree descriptor")?; } AppendedDescriptorMut::Hash(d) => { - d.hash_algorithm = promote_insecure_hash_algorithm(&d.hash_algorithm).to_owned(); + promote_insecure_hash_algorithm(&mut d.hash_algorithm); d.image_size = image_size; raw_file.rewind()?; d.update(&mut raw_file, cancel_signal) @@ -646,7 +644,7 @@ fn repack_subcommand(cli: &RepackCli, cancel_signal: &AtomicBool) -> Result<()> // Write new hash tree and FEC data instead of copying the original. // There could have been errors in the original FEC data itself. if let AppendedDescriptorMut::HashTree(d) = info.header.appended_descriptor_mut()? { - d.hash_algorithm = promote_insecure_hash_algorithm(&d.hash_algorithm).to_owned(); + promote_insecure_hash_algorithm(&mut d.hash_algorithm); d.update(&file, &file, None, cancel_signal)?; } diff --git a/avbroot/src/cli/ota.rs b/avbroot/src/cli/ota.rs index 682dfa0..ec17502 100644 --- a/avbroot/src/cli/ota.rs +++ b/avbroot/src/cli/ota.rs @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Andrew Gunnerson + * SPDX-FileCopyrightText: 2022-2024 Andrew Gunnerson * SPDX-License-Identifier: GPL-3.0-only */ @@ -479,7 +479,7 @@ fn update_security_descriptors( // vbmeta is signed; Use a chain descriptor. match parent_descriptor { Descriptor::ChainPartition(pd) => { - pd.public_key = child_header.public_key.clone(); + child_header.public_key.clone_into(&mut pd.public_key); } _ => { bail!("{child_name} descriptor ({parent_type}) in {parent_name} must be a chain descriptor"); @@ -522,7 +522,7 @@ fn update_metadata_descriptors(parent_header: &mut Header, child_header: &Header }); if let Some(pd) = parent_property { - pd.value = cd.value.clone(); + cd.value.clone_into(&mut pd.value); } else { parent_header .descriptors @@ -542,7 +542,7 @@ fn update_metadata_descriptors(parent_header: &mut Header, child_header: &Header }); if let Some(pd) = parent_property { - pd.cmdline = cd.cmdline.clone(); + cd.cmdline.clone_into(&mut pd.cmdline); } else { parent_header .descriptors diff --git a/avbroot/src/format/ota.rs b/avbroot/src/format/ota.rs index 7819061..5bdd775 100644 --- a/avbroot/src/format/ota.rs +++ b/avbroot/src/format/ota.rs @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Andrew Gunnerson + * SPDX-FileCopyrightText: 2022-2024 Andrew Gunnerson * SPDX-License-Identifier: GPL-3.0-only */ @@ -152,15 +152,15 @@ pub fn parse_legacy_metadata(data: &str) -> Result { } "post-build-incremental" => { let p = metadata.postcondition.get_or_insert_with(Default::default); - p.build_incremental = value.to_owned(); + value.clone_into(&mut p.build_incremental); } "post-sdk-level" => { let p = metadata.postcondition.get_or_insert_with(Default::default); - p.sdk_level = value.to_owned(); + value.clone_into(&mut p.sdk_level); } "post-security-patch-level" => { let p = metadata.postcondition.get_or_insert_with(Default::default); - p.security_patch_level = value.to_owned(); + value.clone_into(&mut p.security_patch_level); } "post-timestamp" => { let p = metadata.postcondition.get_or_insert_with(Default::default); @@ -176,7 +176,7 @@ pub fn parse_legacy_metadata(data: &str) -> Result { } "pre-build-incremental" => { let p = metadata.precondition.get_or_insert_with(Default::default); - p.build_incremental = value.to_owned(); + value.clone_into(&mut p.build_incremental); } "spl-downgrade" => metadata.spl_downgrade = parse_yes()?, k if k.ends_with("-property-files") => { diff --git a/avbroot/src/patch/boot.rs b/avbroot/src/patch/boot.rs index 58b7e65..ab7b6d2 100644 --- a/avbroot/src/patch/boot.rs +++ b/avbroot/src/patch/boot.rs @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Andrew Gunnerson + * SPDX-FileCopyrightText: 2022-2024 Andrew Gunnerson * SPDX-License-Identifier: GPL-3.0-only */ @@ -1044,7 +1044,7 @@ pub fn patch_boot_images<'a>( let (mut writer, context) = hashing_writer.finish(); descriptor.image_size = writer.stream_position()?; - descriptor.hash_algorithm = "sha256".to_owned(); + "sha256".clone_into(&mut descriptor.hash_algorithm); descriptor.root_digest = context.finish().as_ref().to_vec(); if !info.header.public_key.is_empty() {