Browse Source

Merge pull request #72 from cyriltovena/fix-reset

Reset hashtable during Writer reset to ensure deterministic output.
Pierre Curto 5 years ago
parent
commit
e876bbd321
1 changed files with 6 additions and 1 deletions
  1. 6 1
      writer.go

+ 6 - 1
writer.go

@@ -3,9 +3,10 @@ package lz4
 import (
 	"encoding/binary"
 	"fmt"
-	"github.com/pierrec/lz4/internal/xxh32"
 	"io"
 	"runtime"
+
+	"github.com/pierrec/lz4/internal/xxh32"
 )
 
 // zResult contains the results of compressing a block.
@@ -370,6 +371,10 @@ func (z *Writer) Reset(w io.Writer) {
 	z.checksum.Reset()
 	z.idx = 0
 	z.err = nil
+	// reset hashtable to ensure deterministic output.
+	for i := range z.hashtable {
+		z.hashtable[i] = 0
+	}
 	z.WithConcurrency(n)
 }