Newly introduced findings

List of Findings

Error: CLIPPY_WARNING: [#def1]
crates/lib/src/bootc_composefs/boot.rs:142:5: warning: unneeded `return` statement
#      |
#  142 |     return Ok(parent);
#      |     ^^^^^^^^^^^^^^^^^
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
#      = note: `#[warn(clippy::needless_return)]` on by default
#  help: remove `return`
#      |
#  142 -     return Ok(parent);
#  142 +     Ok(parent)
#      |

Error: CLIPPY_WARNING: [#def2]
crates/lib/src/bootc_composefs/boot.rs:296:39: warning: useless conversion to the same type: `std::string::String`
#      |
#  296 |             let mut cmdline_options = String::from(root_setup.kargs.join(" "));
#      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `root_setup.kargs.join(" ")`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
#      = note: `#[warn(clippy::useless_conversion)]` on by default

Error: CLIPPY_WARNING: [#def3]
crates/lib/src/bootc_composefs/boot.rs:536:16: warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
#      |
#  536 |     file_path: &PathBuf,
#      |                ^^^^^^^^ help: change this to: `&Path`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg
#      = note: `#[warn(clippy::ptr_arg)]` on by default

Error: CLIPPY_WARNING: [#def4]
crates/lib/src/bootc_composefs/boot.rs:540:18: warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
#      |
#  540 |     mounted_efi: &PathBuf,
#      |                  ^^^^^^^^ help: change this to: `&Path`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg

Error: CLIPPY_WARNING: [#def5]
crates/lib/src/bootc_composefs/boot.rs:725:20: warning: length comparison to zero
#      |
#  725 |                 if v.len() > 0 {
#      |                    ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!v.is_empty()`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero
#      = note: `#[warn(clippy::len_zero)]` on by default

Error: CLIPPY_WARNING: [#def6]
crates/lib/src/bootc_composefs/boot.rs:856:23: warning: using `.iter().next()` on an array
#      |
#  856 |     let Some(entry) = entries.iter().next() else {
#      |                       ^^^^^^^^^^^^^^^^^^^^^ help: try calling: `entries.first()`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice
#      = note: `#[warn(clippy::iter_next_slice)]` on by default

Error: CLIPPY_WARNING: [#def7]
crates/lib/src/bootc_composefs/repo.rs:66:6: warning: very complex type used. Consider factoring parts into `type` definitions
#     |
#  66 |   ) -> Result<(
#     |  ______^
#  67 | |     ComposefsRepository<Sha256HashValue>,
#  68 | |     Vec<ComposefsBootEntry<Sha256HashValue>>,
#  69 | |     Sha256HashValue,
#  70 | |     FileSystem<Sha256HashValue>,
#  71 | | )> {
#     | |__^
#     |
#     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
#     = note: `#[warn(clippy::type_complexity)]` on by default

Error: CLIPPY_WARNING: [#def8]
crates/lib/src/bootc_composefs/rollback.rs:37:18: warning: useless use of `format!`
#     |
#  37 |         .context(format!("Reopening entries dir as owned fd"))?;
#     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Reopening entries dir as owned fd".to_string()`
#     |
#     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format
#     = note: `#[warn(clippy::useless_format)]` on by default

Error: CLIPPY_WARNING: [#def9]
crates/lib/src/bootc_composefs/rollback.rs:39:32: warning: useless use of `format!`
#     |
#  39 |     fsync(entries_dir).context(format!("fsync entries dir"))?;
#     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"fsync entries dir".to_string()`
#     |
#     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format

Error: CLIPPY_WARNING: [#def10]
crates/lib/src/bootc_composefs/rollback.rs:62:26: warning: useless use of `format!`
#     |
#  62 |         .with_context(|| format!("Reopening /sysroot/boot/loader as owned fd"))?;
#     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Reopening /sysroot/boot/loader as owned fd".to_string()`
#     |
#     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format

Error: CLIPPY_WARNING: [#def11]
crates/lib/src/bootc_composefs/status.rs:144:19: warning: slow zero-filling initialization
#      |
#  144 |       let mut buf = Vec::with_capacity(manifest.config().size() as usize);
#      |  ___________________^
#  145 | |     buf.resize(manifest.config().size() as usize, 0);
#      | |____________________________________________________^ help: consider replacing this with: `vec![0; manifest.config().size() as usize]`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization
#      = note: `#[warn(clippy::slow_vector_initialization)]` on by default

Error: CLIPPY_WARNING: [#def12]
crates/lib/src/bootc_composefs/switch.rs:42:23: warning: using `.iter().next()` on an array
#     |
#  42 |     let Some(entry) = entries.iter().next() else {
#     |                       ^^^^^^^^^^^^^^^^^^^^^ help: try calling: `entries.first()`
#     |
#     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice

Error: CLIPPY_WARNING: [#def13]
crates/lib/src/bootc_composefs/update.rs:32:23: warning: using `.iter().next()` on an array
#     |
#  32 |     let Some(entry) = entries.iter().next() else {
#     |                       ^^^^^^^^^^^^^^^^^^^^^ help: try calling: `entries.first()`
#     |
#     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice

Error: CLIPPY_WARNING: [#def14]
crates/lib/src/install.rs:559:16: warning: inequality checks against false are unnecessary
#      |
#  559 |             if self.composefs_opts.insecure != false {
#      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `self.composefs_opts.insecure`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison
#      = note: `#[warn(clippy::bool_comparison)]` on by default

Error: CLIPPY_WARNING: [#def15]
crates/lib/src/utils.rs:205:14: warning: this `repeat().take()` can be written more concisely
#      |
#  205 |     let up = std::iter::repeat(Component::ParentDir).take(from.len() - common);
#      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Component::ParentDir, from.len() - common)`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n
#      = note: `#[warn(clippy::manual_repeat_n)]` on by default

Error: CLIPPY_WARNING: [#def16]
crates/lib/src/utils.rs:211:5: warning: unneeded `return` statement
#      |
#  211 |     return Ok(final_path);
#      |     ^^^^^^^^^^^^^^^^^^^^^
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
#  help: remove `return`
#      |
#  211 -     return Ok(final_path);
#  211 +     Ok(final_path)
#      |

Scan Properties

analyzer-version-clippy1.89.0
analyzer-version-cppcheck2.18.3
analyzer-version-gcc15.2.1
analyzer-version-gcc-analyzer15.2.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.89.0
diffbase-analyzer-version-cppcheck2.18.3
diffbase-analyzer-version-gcc15.2.1
diffbase-analyzer-version-gcc-analyzer15.2.1
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-63.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namebootc-202509151944.g19e82be849-1
diffbase-store-results-to/tmp/tmp06yc8qei/bootc-202509151944.g19e82be849-1.tar.xz
diffbase-time-created2025-09-17 17:34:39
diffbase-time-finished2025-09-17 17:42:56
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,shellcheck,gcc,clippy,cppcheck' '-o' '/tmp/tmp06yc8qei/bootc-202509151944.g19e82be849-1.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmp06yc8qei/bootc-202509151944.g19e82be849-1.src.rpm'
diffbase-tool-versioncsmock-3.8.2.20250811.215846.gf3b3dbf-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-63.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namebootc-202509171710.gd83dffcbbe-1
store-results-to/tmp/tmp1cc92uys/bootc-202509171710.gd83dffcbbe-1.tar.xz
time-created2025-09-17 17:43:14
time-finished2025-09-17 17:51:20
titleNewly introduced findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,shellcheck,gcc,clippy,cppcheck' '-o' '/tmp/tmp1cc92uys/bootc-202509171710.gd83dffcbbe-1.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmp1cc92uys/bootc-202509171710.gd83dffcbbe-1.src.rpm'
tool-versioncsmock-3.8.2.20250811.215846.gf3b3dbf-1.el9