]> Sergey Matveev's repositories - btrtrc.git/blobdiff - metainfo/bep52.go
Implement reading piece hashes from peers
[btrtrc.git] / metainfo / bep52.go
index 0291d653496c6375dafbec8dc119f054ef21026a..dd3f741432a86526e64431120ab60ccf9e95cea2 100644 (file)
@@ -36,12 +36,7 @@ func ValidatePieceLayers(
                }
                var layerHashes [][32]byte
                layerHashes, err = merkle.CompactLayerToSliceHashes(filePieceLayers)
-               padHash := HashForPiecePad(pieceLength)
-               for uint(len(layerHashes)) < merkle.RoundUpToPowerOfTwo(uint(len(layerHashes))) {
-                       layerHashes = append(layerHashes, padHash)
-               }
-               var root [32]byte
-               root = merkle.Root(layerHashes)
+               root := merkle.RootWithPadHash(layerHashes, HashForPiecePad(pieceLength))
                if root != piecesRoot.Value {
                        err = fmt.Errorf("file %q: expected hash %x got %x", path, piecesRoot.Value, root)
                        return