mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-02-26 15:47:21 +00:00
all: assign zero after resize in implementations of heap.Interface (#26296)
This changes the Pop method to assign the zero value before reducing slice size. Doing so ensures the backing array does not reference removed item values.
This commit is contained in:
parent
10347c6b54
commit
06632da2bb
3 changed files with 3 additions and 0 deletions
|
|
@ -45,6 +45,7 @@ func (h *nonceHeap) Pop() interface{} {
|
|||
old := *h
|
||||
n := len(old)
|
||||
x := old[n-1]
|
||||
old[n-1] = 0
|
||||
*h = old[0 : n-1]
|
||||
return x
|
||||
}
|
||||
|
|
|
|||
|
|
@ -508,6 +508,7 @@ func (s *TxByPriceAndTime) Pop() interface{} {
|
|||
old := *s
|
||||
n := len(old)
|
||||
x := old[n-1]
|
||||
old[n-1] = nil
|
||||
*s = old[0 : n-1]
|
||||
return x
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ func (h *expHeap) Pop() interface{} {
|
|||
old := *h
|
||||
n := len(old)
|
||||
x := old[n-1]
|
||||
old[n-1] = expItem{}
|
||||
*h = old[0 : n-1]
|
||||
return x
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue