Merge pull request #1487 from nspcc-dev/fix-boltdb-get-2.x

storage: fix Get for BoltDB, fix #1482
This commit is contained in:
Roman Khimov 2020-10-13 21:24:41 +03:00 committed by GitHub
commit 77ecdcabb4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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 {