mirror of
https://github.com/rust-lang/cargo
synced 2024-10-13 11:12:25 +00:00
Auto merge of #13152 - hi-rustin:rustin-patch-empty-name, r=epage
Do not allow empty name in package ID spec
This commit is contained in:
commit
8412d30873
|
@ -97,6 +97,9 @@ impl PackageIdSpec {
|
|||
Some(version) => Some(version.parse::<PartialVersion>()?),
|
||||
None => None,
|
||||
};
|
||||
if name.is_empty() {
|
||||
bail!("package ID specification must have a name: `{spec}`");
|
||||
}
|
||||
validate_package_name(name, "pkgid", "")?;
|
||||
Ok(PackageIdSpec {
|
||||
name: String::from(name),
|
||||
|
@ -182,6 +185,10 @@ impl PackageIdSpec {
|
|||
None => (String::from(path_name), None),
|
||||
}
|
||||
};
|
||||
if name.is_empty() {
|
||||
bail!("package ID specification must have a name: `{url}`");
|
||||
}
|
||||
validate_package_name(name.as_str(), "pkgid", "")?;
|
||||
Ok(PackageIdSpec {
|
||||
name,
|
||||
version,
|
||||
|
@ -585,5 +592,8 @@ mod tests {
|
|||
"sparse+https://github.com/rust-lang/cargo#0.52.0?branch=dev"
|
||||
)
|
||||
.is_err());
|
||||
assert!(PackageIdSpec::parse("@1.2.3").is_err());
|
||||
assert!(PackageIdSpec::parse("registry+https://github.com").is_err());
|
||||
assert!(PackageIdSpec::parse("https://crates.io/1foo#1.2.3").is_err())
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue