Pārlūkot izejas kodu

cmd/stdiscosrv: Only attempt unescaping when there are %-encodings in the header (fixes #9143)

Jakob Borg 2 gadi atpakaļ
vecāks
revīzija
a405c21ebb
1 mainītis faili ar 4 papildinājumiem un 2 dzēšanām
  1. 4 2
      cmd/stdiscosrv/apisrv.go

+ 4 - 2
cmd/stdiscosrv/apisrv.go

@@ -360,8 +360,10 @@ func certificateBytes(req *http.Request) ([]byte, error) {
 		// statements. We need to decode, reinstate the newlines every 64
 		// statements. We need to decode, reinstate the newlines every 64
 		// character and add statements for the PEM decoder
 		// character and add statements for the PEM decoder
 
 
-		if unesc, err := url.QueryUnescape(hdr); err == nil {
-			hdr = unesc
+		if strings.Contains(hdr, "%") {
+			if unesc, err := url.QueryUnescape(hdr); err == nil {
+				hdr = unesc
+			}
 		}
 		}
 
 
 		for i := 64; i < len(hdr); i += 65 {
 		for i := 64; i < len(hdr); i += 65 {