From: BonkaBonka Date: Wed, 4 Jan 2017 02:44:19 +0000 (-0500) Subject: Abort verify at first hash mismatch. X-Git-Tag: v1.0.0~500^2 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=25990f44ee0cdfae9fdafab72991f88e54a1a843;p=btrtrc.git Abort verify at first hash mismatch. --- diff --git a/cmd/torrent-verify/main.go b/cmd/torrent-verify/main.go index 4e5774d9..dfd14a74 100644 --- a/cmd/torrent-verify/main.go +++ b/cmd/torrent-verify/main.go @@ -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 }