]> git.proxmox.com Git - mirror_corosync.git/commitdiff
This patch fixes a crash in cpg.c where a group is left befopre
authorSteven Dake <sdake@redhat.com>
Sat, 21 Mar 2009 11:25:48 +0000 (11:25 +0000)
committerSteven Dake <sdake@redhat.com>
Sat, 21 Mar 2009 11:25:48 +0000 (11:25 +0000)
cpg_finalise is called. It can cause the process_info structure to be
removed twice from the group list.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1884 fd59a12c-fef9-0310-b244-a6a79926bd2f

services/cpg.c

index 1c7211480fd5820925aa4b0a5769f47c6259a86b..d8b4a2b97238008d1cc1faae0ac70fd8fa702baf 100644 (file)
@@ -493,7 +493,8 @@ static int cpg_lib_exit_fn (void *conn)
                notify_info.reason = CONFCHG_CPG_REASON_PROCDOWN;
                cpg_node_joinleave_send(gi, pi, MESSAGE_REQ_EXEC_CPG_PROCLEAVE, CONFCHG_CPG_REASON_PROCDOWN);
        }
-       list_del(&pi->list);
+       if (pi->pid)
+               list_del(&pi->list);
        api->ipc_refcnt_dec (conn);
        return (0);
 }