diff options
-rw-r--r-- | external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1 | 62 | ||||
-rw-r--r-- | external/mdds/UnpackedTarball_mdds.mk | 1 |
2 files changed, 63 insertions, 0 deletions
diff --git a/external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1 b/external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1 new file mode 100644 index 000000000000..9c47e1d22767 --- /dev/null +++ b/external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1 @@ -0,0 +1,62 @@ +From f7d8d7eaf2b4160354887ac740a1efed9b6fc23b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com> +Date: Sun, 14 Jan 2024 21:03:12 +0000 +Subject: [PATCH] cid#1546160 COPY_INSTEAD_OF_MOVE + +and + +cid#1545547 COPY_INSTEAD_OF_MOVE +cid#1545642 COPY_INSTEAD_OF_MOVE +cid#1557206 COPY_INSTEAD_OF_MOVE +--- + include/mdds/flat_segment_tree.hpp | 2 +- + include/mdds/flat_segment_tree_def.inl | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/include/mdds/flat_segment_tree.hpp b/include/mdds/flat_segment_tree.hpp +index bf8e0956..317eb279 100644 +--- a/include/mdds/flat_segment_tree.hpp ++++ b/include/mdds/flat_segment_tree.hpp +@@ -767,7 +767,7 @@ private: + { + node_ptr next_node = cur_node->next; + disconnect_all_nodes(cur_node.get()); +- cur_node = next_node; ++ cur_node = std::move(next_node); + } + last_node->next = end_node; + end_node->prev = last_node; +diff --git a/include/mdds/flat_segment_tree_def.inl b/include/mdds/flat_segment_tree_def.inl +index 76350656..d07cae82 100644 +--- a/include/mdds/flat_segment_tree_def.inl ++++ b/include/mdds/flat_segment_tree_def.inl +@@ -114,7 +114,7 @@ + // Move on to the next destination node, and have the next node point + // back to the previous node. + node_ptr old_node = dest_node; +- dest_node->next->prev = old_node; ++ dest_node->next->prev = std::move(old_node); + dest_node = dest_node->next; + + if (src_node == r.m_right_leaf.get()) +@@ -380,7 +380,7 @@ + + p = get_insertion_pos_leaf(start_key, p); + node_ptr start_pos(const_cast<node*>(p)); +- return insert_to_pos(start_pos, start_key, end_key, val); ++ return insert_to_pos(std::move(start_pos), start_key, end_key, val); + } + + template<typename Key, typename Value> +@@ -456,7 +456,7 @@ + last_seg_value = node_pos->value_leaf.value; + node_ptr next = node_pos->next; + disconnect_all_nodes(node_pos.get()); +- node_pos = next; ++ node_pos = std::move(next); + } + + start_pos->value_leaf.value = last_seg_value; +-- +2.42.0 + diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk index 5745da0b11c5..ce1ba745be43 100644 --- a/external/mdds/UnpackedTarball_mdds.mk +++ b/external/mdds/UnpackedTarball_mdds.mk @@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0)) $(eval $(call gb_UnpackedTarball_add_patches,mdds,\ external/mdds/use-after-free.patch \ external/mdds/gcc-12-silence-use-after-free.patch.1 \ + external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1 \ )) # vim: set noet sw=4 ts=4: |