Skip to content

Initialize reserved names once to avoid race condition (#7008)

elsid requested to merge elsid/openmw:fix_reserved_names_init into master

CanOptimizeCallback::isReservedName function may be executed by multiple threads simultaneously. One of them creates a static but both of them run if statement and see it's empty because none of them added elements there yet. Both of them go to the branch where new elements are added doing it without any synchronization possibly causing SIGSEGV.

Fixes #7008 (closed).

Should be cherry-picked to 0.48.

Edited by elsid

Merge request reports

Loading