From ca598fb9445627e9734c2900bc6b11430250d453 Mon Sep 17 00:00:00 2001 From: carmi Date: Tue, 10 Apr 2018 12:40:14 -0700 Subject: Disallow labels of the form ////foo. RELNOTES: Labels of the form ////foo are disallowed. PiperOrigin-RevId: 192329081 --- src/main/java/com/google/devtools/build/lib/cmdline/Label.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/cmdline/Label.java') diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java index f271ea6c8b..92969c4111 100644 --- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java +++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java @@ -257,11 +257,14 @@ public final class Label */ private static PackageIdentifier validatePackageName(String packageIdentifier, String name) throws LabelSyntaxException { - String error = null; + if (packageIdentifier.startsWith("/")) { + throw new LabelSyntaxException( + "package names may not start with '/' (do you have too many '/'?)"); + } try { return PackageIdentifier.parse(packageIdentifier); } catch (LabelSyntaxException e) { - error = e.getMessage(); + String error = e.getMessage(); error = "invalid package name '" + packageIdentifier + "': " + error; // This check is just for a more helpful error message // i.e. valid target name, invalid package name, colon-free label form -- cgit v1.2.3