ClusterLabs/pacemaker — pull request #544 by davidvossel (2014-06-18 17:38:16+00:00)
Title: 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.