13
0

safer housekeeping for control protocol descriptors

This commit is contained in:
Paul Davis 2015-12-30 03:51:00 -05:00
parent 75021abfd6
commit 2c6d92ec96

View File

@ -223,10 +223,16 @@ ControlProtocolManager::teardown (ControlProtocolInfo& cpi)
}
cpi.protocol = 0;
delete cpi.state;
cpi.state = 0;
delete (Glib::Module*)cpi.descriptor->module;
cpi.descriptor->module = 0;
delete (Glib::Module*) cpi.descriptor->module;
/* cpi->descriptor is now inaccessible since dlclose() or equivalent
* has been performed, and the descriptor is (or could be) a static
* object made accessible by dlopen().
*/
cpi.descriptor = 0;
ProtocolStatusChange (&cpi);