From 0dd9d0999f88edfda2dd2611a3faa3ff283aad02 Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Fri, 15 Apr 2005 21:07:01 +0000 Subject: [PATCH] fix defect 477 - header size calculated incorrectly results in assert (Logical change 1.178) git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@599 fd59a12c-fef9-0310-b244-a6a79926bd2f --- exec/evs.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/exec/evs.c b/exec/evs.c index c04245eb..4c0d7a3e 100644 --- a/exec/evs.c +++ b/exec/evs.c @@ -310,7 +310,11 @@ static int message_handler_req_evs_mcast_joined (struct conn_info *conn_info, vo int send_ok = 0; int res; - req_exec_evs_mcast.header.size = sizeof (struct req_exec_evs_mcast); + req_exec_evs_mcast.header.size = sizeof (struct req_exec_evs_mcast) + + conn_info->conn_info_partner->ais_ci.u.libevs_ci.group_entries * + sizeof (struct evs_group) + + req_lib_evs_mcast_joined->msg_len; + req_exec_evs_mcast.header.id = MESSAGE_REQ_EXEC_EVS_MCAST; req_exec_evs_mcast.msg_len = req_lib_evs_mcast_joined->msg_len; req_exec_evs_mcast.group_entries = conn_info->conn_info_partner->ais_ci.u.libevs_ci.group_entries; @@ -354,7 +358,10 @@ static int message_handler_req_evs_mcast_groups (struct conn_info *conn_info, vo int send_ok = 0; int res; - req_exec_evs_mcast.header.size = sizeof (struct req_exec_evs_mcast); + req_exec_evs_mcast.header.size = sizeof (struct req_exec_evs_mcast) + + sizeof (struct evs_group) * req_lib_evs_mcast_groups->group_entries + + req_lib_evs_mcast_groups->msg_len; + req_exec_evs_mcast.header.id = MESSAGE_REQ_EXEC_EVS_MCAST; req_exec_evs_mcast.msg_len = req_lib_evs_mcast_groups->msg_len; req_exec_evs_mcast.group_entries = req_lib_evs_mcast_groups->group_entries;