]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Abort verify at first hash mismatch.
authorBonkaBonka <bonkabonka@gmail.com>
Wed, 4 Jan 2017 02:44:19 +0000 (21:44 -0500)
committerBonkaBonka <bonkabonka@gmail.com>
Wed, 4 Jan 2017 02:44:19 +0000 (21:44 -0500)
cmd/torrent-verify/main.go

index 4e5774d94457bde8226ad88f62b8103366d7ccb0..dfd14a7400aee1a629dc155bf1293bad81a79910 100644 (file)
@@ -51,9 +51,13 @@ func verifyTorrent(info *metainfo.Info, root string) error {
                hash := sha1.New()
                _, err := io.Copy(hash, io.NewSectionReader(span, p.Offset(), p.Length()))
                if err != nil {
-                       log.Fatal(err)
+                       return err
+               }
+               good := bytes.Equal(hash.Sum(nil), p.Hash().Bytes())
+               if !good {
+                       return fmt.Errorf("hash mismatch at piece %d", i)
                }
-               fmt.Printf("%d: %x: %v\n", i, p.Hash(), bytes.Equal(hash.Sum(nil), p.Hash().Bytes()))
+               fmt.Printf("%d: %x: %v\n", i, p.Hash(), good)
        }
        return nil
 }