瀏覽代碼

swarm/storage: fix loop bound for database cleanup (#19085)

The current loop continuation condition is always true as a uint8
is always being checked whether it is less than 255 (its maximum
value). Since the loop starts with the value 1, the loop termination
can be guarranteed to exit once the value overflows to 0.
Matthew Halpern 6 年之前
父節點
當前提交
fbedf62f3d
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      swarm/storage/ldbstore.go

+ 2 - 2
swarm/storage/ldbstore.go

@@ -527,8 +527,8 @@ func (s *LDBStore) Cleanup(f func(*chunk) bool) {
 		if err != nil {
 			found := false
 
-			// highest possible proximity is 255
-			for po = 1; po <= 255; po++ {
+			// The highest possible proximity is 255, so exit loop upon overflow.
+			for po = uint8(1); po != 0; po++ {
 				datakey = getDataKey(index.Idx, po)
 				data, err = s.db.Get(datakey)
 				if err == nil {