bitshares / bitshares/bitshares-core

In p2p code, iterator is not robust to concurrent modification in _handle_message_calls_in_progress loop

Open
#182 0 comments 0 reactions 0 assignees View on GitHub
3d Bug
Dominant language
C++
Stars
1.2k
Forks
660
Avg merge
8h 17m
Merged PRs (30d)
26

Description

_From @theoreticalbts on February 25, 2016 16:3_

The problem is [here](https://github.com/cryptonomex/graphene/blob/a3e609d331e196679ba48a0a346eb5c25eda3b4f/libraries/net/node.cpp#L3951-L3973). The code walks an `std::list` using an iterator, but the `cancel_and_wait()` call allows other FC tasks to run, some of which modify the `list` and invalidate the iterator.

_Copied from original issue: cryptonomex/graphene#598_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.