Skip to content

Commit 1248522

Browse files
committed
fix: validate package name from URL
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
1 parent 4dc1178 commit 1248522

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/cargo/util_schemas/core/package_id_spec.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,10 @@ impl PackageIdSpec {
197197
None => (String::from(path_name), None),
198198
}
199199
};
200+
if name.is_empty() {
201+
bail!("package ID specification must have a name: `{url}`");
202+
}
203+
validate_package_name(name.as_str(), "pkgid", "")?;
200204
Ok(PackageIdSpec {
201205
name,
202206
version,
@@ -601,7 +605,7 @@ mod tests {
601605
)
602606
.is_err());
603607
assert!(PackageIdSpec::parse("@1.2.3").is_err());
604-
assert!(PackageIdSpec::parse("registry+https://github.com").is_ok());
605-
assert!(PackageIdSpec::parse("https://crates.io/1foo#1.2.3").is_ok())
608+
assert!(PackageIdSpec::parse("registry+https://github.com").is_err());
609+
assert!(PackageIdSpec::parse("https://crates.io/1foo#1.2.3").is_err())
606610
}
607611
}

0 commit comments

Comments
 (0)