Bläddra i källkod

replace strings buffer with hasher (#2437)

the buffered value is going into the hasher eventually so write directly
to the hasher instead
Michael Yang 1 år sedan
förälder
incheckning
210b65268e
1 ändrade filer med 3 tillägg och 6 borttagningar
  1. 3 6
      server/upload.go

+ 3 - 6
server/upload.go

@@ -12,7 +12,6 @@ import (
 	"net/http"
 	"net/http"
 	"net/url"
 	"net/url"
 	"os"
 	"os"
-	"strings"
 	"sync"
 	"sync"
 	"sync/atomic"
 	"sync/atomic"
 	"time"
 	"time"
@@ -177,16 +176,14 @@ func (b *blobUpload) Run(ctx context.Context, opts *registryOptions) {
 	requestURL := <-b.nextURL
 	requestURL := <-b.nextURL
 
 
 	// calculate md5 checksum and add it to the commit request
 	// calculate md5 checksum and add it to the commit request
-	var sb strings.Builder
+	md5sum := md5.New()
 	for _, part := range b.Parts {
 	for _, part := range b.Parts {
-		sb.Write(part.Sum(nil))
+		md5sum.Write(part.Sum(nil))
 	}
 	}
 
 
-	md5sum := md5.Sum([]byte(sb.String()))
-
 	values := requestURL.Query()
 	values := requestURL.Query()
 	values.Add("digest", b.Digest)
 	values.Add("digest", b.Digest)
-	values.Add("etag", fmt.Sprintf("%x-%d", md5sum, len(b.Parts)))
+	values.Add("etag", fmt.Sprintf("%x-%d", md5sum.Sum(nil), len(b.Parts)))
 	requestURL.RawQuery = values.Encode()
 	requestURL.RawQuery = values.Encode()
 
 
 	headers := make(http.Header)
 	headers := make(http.Header)