aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-07-26 00:09:58 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-07-26 00:09:58 +0200
commit0ced3ecc87f19aa35f9e6919ca822ac71f57b20a (patch)
tree7619c4d0e64cd704a6ea6028237721d54e64f8b3
parentfaa7739dcde1a1a57df8991a193975eb52aa4df2 (diff)
...
-rw-r--r--zsig/sum.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/zsig/sum.go b/zsig/sum.go
index 5768b95..40bf24c 100644
--- a/zsig/sum.go
+++ b/zsig/sum.go
@@ -14,11 +14,17 @@ const (
)
func (z ZHeader) Verify(r io.Reader) error {
+ if z.Alg != Alg {
+ return errors.New("invalid hash algorithm")
+ }
h := sha512.New512_256() // from z.Alg
blockCount := len(z.Sums)
for _, sum := range z.Sums {
h.Reset()
- _, err := io.CopyN(h, r, z.BlockSize)
+ n, err := io.CopyN(h, r, z.BlockSize)
+ if n == 0 && err == io.EOF {
+ break
+ }
if err != nil && err != io.EOF {
return err
}