diff options
author | Doyle <doylet@protonmail.com> | 2020-05-19 18:45:32 +1000 |
---|---|---|
committer | Doyle <doylet@protonmail.com> | 2020-05-20 10:13:58 +1000 |
commit | 15538f7e3f8fdafb13b99554a8726850caeef937 (patch) | |
tree | d53316319bcdadd33678962c64295e7720a275f3 /contrib/epee/src/hex.cpp | |
parent | Merge pull request #6503 (diff) | |
download | monero-15538f7e3f8fdafb13b99554a8726850caeef937.tar.xz |
ByteSlice: Fix persisting ptr to std::moved SSO buffer
The Bug:
1. Construct `byte_slice.portion_` with `epee::span(buffer)` which copies a pointer to the SSO buffer to `byte_slice.portion_`
2. It constructs `byte_slice.storage_` with `std::move(buffer)` (normally this swap pointers, but SSO means a memcpy and clear on the original SSO buffer)
3. `slice.data()` returns a pointer from `slice.portion_` that points to the original SSO cleared buffer, `slice.storage_` has the actual string.
Diffstat (limited to 'contrib/epee/src/hex.cpp')
0 files changed, 0 insertions, 0 deletions