From b64eff8ecd83cda83e9e68ceaa519bd7742f0cda Mon Sep 17 00:00:00 2001 From: Andrew Ekstedt Date: Sat, 5 Oct 2024 20:16:35 -0700 Subject: [PATCH] add digest.clone method and use it in Sum --- sponge.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sponge.go b/sponge.go index f4f14a2..aab872d 100644 --- a/sponge.go +++ b/sponge.go @@ -68,8 +68,13 @@ func keccakf(a *[25]uint64) { } } -func (d0 *digest) Sum(b []byte) []byte { - d := *d0 +func (d *digest) clone() *digest { + d0 := *d + return &d0 +} + +func (d *digest) Sum(b []byte) []byte { + d = d.clone() d.buf[d.len] = d.dsbyte bs := d.BlockSize() for i := d.len + 1; i < bs; i++ {