Pārlūkot izejas kodu

x/build/blob: fix handling of slash prefixes

Blake Mizerany 1 gadu atpakaļ
vecāks
revīzija
acf1cb1dc4
1 mainītis faili ar 5 papildinājumiem un 4 dzēšanām
  1. 5 4
      x/build/blob/ref.go

+ 5 - 4
x/build/blob/ref.go

@@ -218,12 +218,10 @@ func Parts(s string) iter.Seq2[PartKind, string] {
 		if len(s) > 255 || len(s) == 0 {
 			return
 		}
-		if !isValidPart(string(s[0])) {
-			return
-		}
 
 		yieldValid := func(kind PartKind, value string) bool {
 			if !isValidPart(value) {
+				yield(Invalid, "")
 				return false
 			}
 			return yield(kind, value)
@@ -264,9 +262,12 @@ func Parts(s string) iter.Seq2[PartKind, string] {
 						return
 					}
 					state, j = Domain, i
-				default:
+				case Domain:
+					// domain is not allowed to have slashes
 					yield(Invalid, "")
 					return
+				default:
+					return
 				}
 			}
 		}