Actions
Bug #1073
closedradix tree lookups are not thread safe
Affected Versions:
Effort:
Difficulty:
Label:
Description
The radix tree stores user data. However, it had no function to return this data to the consumers of the API. Instead, on lookup, it would set a field "user_data_result" in the nodes prefix structure which could then be read by the caller.
Apart for this not being a very nice design as it exposes API internals to the caller, it is not thread safe. By updating the global data structure without any form (or suggestion) of locking, threads could overwrite the same field unexpectedly.
Actions