[21649] Correct iterator increment after erasing elements in connected_servers_list
(backport #5226)
#5234
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR addresses a critical issue with iterator handling in the loop that processes elements of
connected_servers_
. The original implementation encountered an assertion failure due to invalid iterator increments after removing elements from the container.Comment for the reviewer:
connected_servers_
list is expected to contain at most one element with the matchingguidPrefix
, another viable solution could be to use a break statement within theif (it->guidPrefix == pdata->m_guid.guidPrefix)
condition. This would immediately exit the loop after finding and removing the element, eliminating the need to handle iterator invalidation explicitly.@Mergifyio backport 2.14.x 2.10.x
Contributor Checklist
Commit messages follow the project guidelines.
The code follows the style guidelines of this project.
NO: Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally
N/A: Any new/modified methods have been properly documented using Doxygen.
N/A: Any new configuration API has an equivalent XML API (with the corresponding XSD extension)
Changes are backport compatible: they do NOT break ABI nor change library core behavior.
Changes are API compatible.
N/A: New feature has been added to the
versions.md
file (if applicable).N/A: New feature has been documented/Current behavior is correctly described in the documentation.
Applicable backports have been included in the description.
Reviewer Checklist
This is an automatic backport of pull request #5226 done by [Mergify](https://mergify.com).