HomeClusterLabs Projects

Fix: crmd: avoid double free caused by nested hash table removal

Description

Fix: crmd: avoid double free caused by nested hash table removal

The hashtable destroy callback for ipc proxy objects in the crmd
ended up calling hashtable remove on the hashtable element that
was already being freed.

Essentially invoking a hashtable remove would call some destroy
callback which in turn would call hashtable remove once again
on the same object. The reasoning for using this logic to begin
with was not insane. The expectation was that hashtable remove
would unlink the object before calling the destroy object callback.
Apparently this is not the case.

This patch avoids the nested hashtable remove.

Details

Provenance
David Vossel <dvossel@redhat.com>Authored on Jun 18 2014, 1:30 PM
Parents
rP14f1ecb4a559: Low: pengine: regression test updates for recent container fixes
Branches
Unknown
Tags
Unknown

Event Timeline