ChimeraTK / ApplicationCore

Core library for creating applications based on the ControlSystemAdapter and DeviceAccess.
GNU Lesser General Public License v3.0
1 stars 2 forks source link

fix: use after free #334

Closed mhier closed 9 months ago

mhier commented 9 months ago

ProcessVariableProxy::removeNode() was effectively taking a reference to a shared pointer as an argument and is removing the same (effective) shared pointer from a list. This poses a problem if the reference passed points to the list directly and is the last shared pointer to this object so it gets freed, because removeNode() is accessing the object after removing it from the list.