From 24764712b6765fc517b4e4bee21e5cd88fbcaf49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Dziepak?= Date: Mon, 4 Jun 2018 11:25:42 +0100 Subject: [PATCH] sstable: fix capture by reference of stack variable in continuation Message-Id: <20180604102542.21799-1-pdziepak@scylladb.com> --- sstables/sstables.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sstables/sstables.cc b/sstables/sstables.cc index a49f19baa9..ae7c810411 100644 --- a/sstables/sstables.cc +++ b/sstables/sstables.cc @@ -600,11 +600,11 @@ parse(sstable_version_types v, random_access_reader& in, disk_set_of_tagged_unio using key_type = typename disk_set::key_type; using value_type = typename disk_set::value_type; return do_with(0u, 0u, 0u, value_type{}, [&] (key_type& nr_elements, key_type& new_key, unsigned& new_size, value_type& new_value) { - return parse(v, in, nr_elements).then([&] { + return parse(v, in, nr_elements).then([&, v] { auto rng = boost::irange(0, nr_elements); // do_for_each doesn't like an rvalue range - return do_for_each(rng.begin(), rng.end(), [&] (key_type ignore) { - return parse(v, in, new_key).then([&] { - return parse(v, in, new_size).then([&] { + return do_for_each(rng.begin(), rng.end(), [&, v] (key_type ignore) { + return parse(v, in, new_key).then([&, v] { + return parse(v, in, new_size).then([&, v] { return disk_set::s_serdes.lookup_and_parse(v, in, TagType(new_key), new_size, s, new_value); }); });