storage: fix Get for BoltDB, fix #1482

This commit is contained in:
Roman Khimov 2020-10-13 18:57:04 +03:00
parent c72ecd1be4
commit 0f39da19d0

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 {