From aa07717895a630e8cd47b1a88ffe83b2e8dfbb4c Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Fri, 2 May 2025 14:34:40 -0400 Subject: [PATCH] Skip packages with mismatched names in Simple API --- crates/uv-client/src/registry_client.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/crates/uv-client/src/registry_client.rs b/crates/uv-client/src/registry_client.rs index 9e8ea23b7..245493d7f 100644 --- a/crates/uv-client/src/registry_client.rs +++ b/crates/uv-client/src/registry_client.rs @@ -1108,10 +1108,14 @@ impl SimpleMetadata { warn!("Skipping file for {package_name}: {}", file.filename); continue; }; - let version = match filename { - DistFilename::SourceDistFilename(ref inner) => &inner.version, - DistFilename::WheelFilename(ref inner) => &inner.version, - }; + if filename.name() != package_name { + warn!( + "Skipping file with mismatched package name: `{}` vs. `{}`", + filename.name(), + package_name + ); + continue; + } let file = match File::try_from(file, &base) { Ok(file) => file, Err(err) => { @@ -1120,7 +1124,7 @@ impl SimpleMetadata { continue; } }; - match map.entry(version.clone()) { + match map.entry(filename.version().clone()) { std::collections::btree_map::Entry::Occupied(mut entry) => { entry.get_mut().push(filename, file); }