From: Semir Sionek Date: Thu, 7 Aug 2025 15:15:36 +0000 (+0000) Subject: hsa: fix potential udp echo server test-bytes int overflow X-Git-Tag: v26.02-rc0~107 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F30%2F43530%2F4;p=vpp.git hsa: fix potential udp echo server test-bytes int overflow Make sure that when running echo server over UDP with test-bytes enabled, we're getting at least the buffer offset and some data. Type: fix Fixes: 84d52285afd1b478d616026a3d63a714abb29f13 Change-Id: I9375e00a76caa9d043f0b5531169fb6f2ca07db7 Signed-off-by: Semir Sionek --- diff --git a/src/plugins/hs_apps/echo_server.c b/src/plugins/hs_apps/echo_server.c index abf557c33e8..41f5ac8791f 100644 --- a/src/plugins/hs_apps/echo_server.c +++ b/src/plugins/hs_apps/echo_server.c @@ -450,8 +450,13 @@ echo_server_rx_callback (session_t * s) es->byte_index += actual_transfer; } else - es_test_bytes ((wrk->rx_buf + sizeof (u32)), - actual_transfer - sizeof (u32), *(u32 *) wrk->rx_buf); + { + /* Sanity check, in case of a broken dgram */ + if (actual_transfer < sizeof (u32) + 1) + return 0; + es_test_bytes ((wrk->rx_buf + sizeof (u32)), + actual_transfer - sizeof (u32), *(u32 *) wrk->rx_buf); + } } /*