zebra: Ensure that message received from mlag will fit

If we receive a message that is greater than our buffer
size we are in a situation where both the read and write
buffers are fubar'ed beyond the end.  Assert when we notice
this fact.

Ticket: CM-31576
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
Donald Sharp 2020-09-23 13:04:20 -04:00
parent f24d9ab667
commit 7692744f2c

View File

@ -117,6 +117,15 @@ static int zebra_mlag_read(struct thread *thread)
/* This will be the actual length of the packet */
tot_len = h_msglen + ZEBRA_MLAG_LEN_SIZE;
/*
* If the buffer read we are about to do is too large
* we are really really really not double plus good
*
* I'm not sure what to do here other than to bail
* We'll need to revisit this in the future.
*/
assert(tot_len < ZEBRA_MLAG_BUF_LIMIT);
if (curr_len < tot_len) {
ssize_t data_len;