Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-unique inplace_set_difference used in in flat_tree_merge_unique and iterator invalidation in insert_unique #118

Closed
igaztanaga opened this issue Apr 24, 2019 · 0 comments

Comments

@igaztanaga
Copy link
Member

commented Apr 24, 2019

  1. In "flat_tree_merge_unique" inplace_set_difference is used insted of inplace_set_unique_difference

  2. Im "insert_unique", the operation "seq.erase(e, seq.cend());" can invalidate the iterator "it" in the corner case if "it == e", so "it" should not be used in "flat_tree_container_inplace_merge". This invalidation does not show in contiguous memory sequence containers like vector, but it is triggered when using stable_vector and other non-contiguous sequences.

Lastique added a commit to Lastique/container that referenced this issue May 19, 2019
Fixes boostorg#118 ("Non-unique inplace_set_difference used in in fla…
…t_tree_merge_unique and iterator invalidation in insert_unique")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.