mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00
Avoid the risk of leaking small amounts of memory.
Removing from the bottom of a stack (nipN(depth)) would leak the first entry in the array by slicing [1:], leaving array[0] dangling an inaccessible (but unable to be freed until the whole slice is gone). We left it like this for a while, but best not to leak the memory. Happens rarely so the performance hit shouldn't matter that much. Do the same thing for condstack.
This commit is contained in:
parent
a63edcd2dc
commit
0a3e7f682b
@ -840,7 +840,9 @@ func opcodeEndif(op *parsedOpcode, s *Script) error {
|
||||
return StackErrNoIf
|
||||
}
|
||||
|
||||
s.condStack = s.condStack[1:]
|
||||
stk := make([]int, len(s.condStack) -1, len(s.condStack) -1)
|
||||
copy(stk, s.condStack[1:])
|
||||
s.condStack = stk
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user