forked from TrueCloudLab/neoneo-go
Merge pull request #1485 from nspcc-dev/fix-get-for-boltdb
storage: fix Get for BoltDB, fix #1482
This commit is contained in:
commit
138d310c85
1 changed files with 6 additions and 0 deletions
|
@ -61,6 +61,12 @@ func (s *BoltDBStore) Get(key []byte) (val []byte, err error) {
|
|||
err = s.db.View(func(tx *bbolt.Tx) error {
|
||||
b := tx.Bucket(Bucket)
|
||||
val = b.Get(key)
|
||||
// Value from Get is only valid for the lifetime of transaction, #1482
|
||||
if val != nil {
|
||||
var valcopy = make([]byte, len(val))
|
||||
copy(valcopy, val)
|
||||
val = valcopy
|
||||
}
|
||||
return nil
|
||||
})
|
||||
if val == nil {
|
||||
|
|
Loading…
Reference in a new issue