aboutsummaryrefslogtreecommitdiff
path: root/zsig/sum.go
diff options
context:
space:
mode:
Diffstat (limited to 'zsig/sum.go')
-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
}