mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2025-08-03 06:48:09 +00:00
Fix a crash in YKD
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2767 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
parent
ef842e8773
commit
e88c09e7c2
@ -193,7 +193,7 @@ static int ykd_attempt_send_msg (const void *context)
|
||||
struct ykd_header header;
|
||||
int res;
|
||||
|
||||
header.id = YKD_HEADER_SENDSTATE;
|
||||
header.id = YKD_HEADER_ATTEMPT;
|
||||
|
||||
iovec.iov_base = (char *)&header;
|
||||
iovec.iov_len = sizeof (struct ykd_header);
|
||||
@ -343,6 +343,7 @@ static void ykd_deliver_fn (
|
||||
int all_received = 1;
|
||||
int state_position = 0;
|
||||
int i;
|
||||
struct ykd_header *header = (struct ykd_header *)msg;
|
||||
char *msg_state = (char *)msg + sizeof (struct ykd_header);
|
||||
|
||||
/*
|
||||
@ -390,6 +391,13 @@ static void ykd_deliver_fn (
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Ignore messages from a different state
|
||||
*/
|
||||
if ((ykd_mode == YKD_MODE_SENDSTATE && header->id == YKD_HEADER_ATTEMPT) ||
|
||||
(ykd_mode == YKD_MODE_ATTEMPT && header->id == YKD_HEADER_SENDSTATE))
|
||||
return;
|
||||
|
||||
switch (ykd_mode) {
|
||||
case YKD_MODE_SENDSTATE:
|
||||
assert (msg_len > sizeof (struct ykd_header));
|
||||
|
Loading…
Reference in New Issue
Block a user