shithub: furgit

Download patch

ref: 26ae77e8f63111bba3dd4e92ffcaccaa76570927
parent: 17c9aee0e781026353ead4ac749a3ae89c83d007
author: Runxi Yu <me@runxiyu.org>
date: Thu Jan 29 12:43:02 EST 2026

packed: Use random delta seed

--- a/packed_write_pack.go
+++ b/packed_write_pack.go
@@ -1,6 +1,7 @@
 package furgit
 
 import (
+	"crypto/rand"
 	"crypto/sha1"
 	"crypto/sha256"
 	"encoding/binary"
@@ -318,10 +319,15 @@
 	}
 
 	var dctx deltaContext
+	var deltaSeed uint32
 	if opts.EnableDeltas {
 		dctx.window = defaultDeltaWindow
+		var seedBytes [4]byte
+		if _, err := rand.Read(seedBytes[:]); err != nil {
+			return Hash{}, err
+		}
+		deltaSeed = binary.LittleEndian.Uint32(seedBytes[:])
 	}
-	deltaSeed := uint32(0)
 
 	for _, id := range objects {
 		ty, body, err := repo.ReadObjectTypeRaw(id)
--