diff --git a/core/state/statedb.go b/core/state/statedb.go index e6d8b5bffc..23a6caa3e8 100644 --- a/core/state/statedb.go +++ b/core/state/statedb.go @@ -735,8 +735,10 @@ func (s *StateDB) Copy() *StateDB { for hash, logs := range s.logs { cpy := make([]*types.Log, len(logs)) for i, l := range logs { - cpy[i] = new(types.Log) - *cpy[i] = *l + c := *l + c.Topics = slices.Clone(l.Topics) + c.Data = common.CopyBytes(l.Data) + cpy[i] = &c } state.logs[hash] = cpy }