Due to 48872 we now actually free and close plugins correctly.
However, this has exposed a number of issues in other plugins not behaving correctly. In the TET tests the xorplugin assign a name to SLAPI_PLUGIN_PWD_STORAGE_SCHEME_NAME from the stack rather than the heap. When plugin_closeall is called, this causes a segfault as slapi_ch_free_string(&plugin->plg_pwdstorageschemename); is trying to free something that it cannot.
The fix is that we should be strduping the name, and then freeing that in the plugin_free. This way plugins can allocate from heap or stack and we do not cause these faults.
Ticket has been cloned to Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1350632
A nice idea!
Writing objects: 100% (11/11), 1.46 KiB | 0 bytes/s, done.
Total 11 (delta 8), reused 0 (delta 0)
34c9293..2309c38 master -> master
Metadata Update from @nhosoi:
- Issue assigned to firstyear
- Issue set to the milestone: 22.214.171.124
to comment on this ticket.