diff options
-rw-r--r-- | external/mdds/UnpackedTarball_mdds.mk | 1 | ||||
-rw-r--r-- | external/mdds/use-after-free.patch | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk index c015f4c13f5a..271d20b0f4d1 100644 --- a/external/mdds/UnpackedTarball_mdds.mk +++ b/external/mdds/UnpackedTarball_mdds.mk @@ -14,6 +14,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL))) $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0)) $(eval $(call gb_UnpackedTarball_add_patches,mdds,\ + external/mdds/use-after-free.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/mdds/use-after-free.patch b/external/mdds/use-after-free.patch new file mode 100644 index 000000000000..981c945821a7 --- /dev/null +++ b/external/mdds/use-after-free.patch @@ -0,0 +1,12 @@ +--- include/mdds/flat_segment_tree_def.inl ++++ include/mdds/flat_segment_tree_def.inl +@@ -84,8 +84,8 @@ + // 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 = dest_node->next; +- dest_node->prev = old_node; + + if (src_node == r.m_right_leaf.get()) + { |