On 6/12/2013 5:03 PM, Jan Friesse wrote: > Signed-off-by: Jan Friesse <jfriesse@xxxxxxxxxx> > --- > exec/votequorum.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/exec/votequorum.c b/exec/votequorum.c > index b561409..131b734 100644 > --- a/exec/votequorum.c > +++ b/exec/votequorum.c > @@ -1634,6 +1634,9 @@ static void message_handler_req_exec_votequorum_nodeinfo ( > > if (nodeid == VOTEQUORUM_QDEVICE_NODEID) { > struct cluster_node *sender_node = find_node_by_nodeid(sender_nodeid); > + > + assert(sender_node != NULL); > + > if ((!cluster_is_quorate) && > (sender_node->flags & NODE_FLAGS_QUORATE)) { > node->votes = req_exec_quorum_nodeinfo->votes; > I would prefer a proper error checking rather than assert here. The logic is that a node always send its own information (to populate node for node == sender_nodeid) and then send quorum device info from that node. See static int votequorum_sync_process (void) that´s the one triggering the population of the node entries. In theory, if sync queues the messages as expected, sender_node is never NULL. If it is, then i´ll prefer at least to see a message that says: "received qdevice info before sender node info\n" and then quit (unless we can recover from that status easily). Fabio _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss