From c8767c42aadb5bd63206e117673991ef799e2d18 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Tue, 27 Jun 2023 19:45:59 -0700 Subject: session udp: add len check for tx dgrams Type: fix Signed-off-by: Florin Coras Change-Id: I35391fb8c39defbe0e57a241a357c3c98e8cef54 --- src/vnet/session/session_node.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/vnet/session/session_node.c') diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c index f652f2e9a1c..6d1b6bdf2ae 100644 --- a/src/vnet/session/session_node.c +++ b/src/vnet/session/session_node.c @@ -1236,6 +1236,13 @@ session_tx_set_dequeue_params (vlib_main_t * vm, session_tx_context_t * ctx, ctx->max_len_to_snd = 0; return; } + /* We cannot be sure apps have not enqueued incomplete dgrams */ + if (PREDICT_FALSE (ctx->max_dequeue < + ctx->hdr.data_length + sizeof (ctx->hdr))) + { + ctx->max_len_to_snd = 0; + return; + } ASSERT (ctx->hdr.data_length > ctx->hdr.data_offset); len = ctx->hdr.data_length - ctx->hdr.data_offset; -- cgit 1.2.3-korg