From b6ed506bd4922361ead76f314e931bf4d6e5e23c Mon Sep 17 00:00:00 2001 From: "David M. Syzdek" Date: Thu, 21 Jul 2022 15:51:16 -0800 Subject: akcom-udpechod: updating to reject invalid packets --- src/akcom-udpechod.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/akcom-udpechod.c b/src/akcom-udpechod.c index 892e6ba..83af161 100644 --- a/src/akcom-udpechod.c +++ b/src/akcom-udpechod.c @@ -857,9 +857,10 @@ int my_loop(int s, size_t * connp) // log connection my_log_conn(MY_RECV, connp, &sa, &udpbuff.msg, ssize, &ts, 0); - if ((cnf_echoplus)) + if ( ((cnf_echoplus)) && (ssize < (ssize_t)sizeof(struct udp_echo_plus)) ) { - udpbuff.msg.recv_time = htonl(us_recv & 0xFFFFFFFFLL); + my_log_conn(MY_INVAL, connp, &sa, &udpbuff.msg, ssize, &ts, 0); + return(0); }; // randomly drop packets @@ -892,6 +893,7 @@ int my_loop(int s, size_t * connp) if ((cnf_echoplus)) { udpbuff.msg.res_sn = htonl(state.res_sn); + udpbuff.msg.recv_time = htonl(us_recv & 0xFFFFFFFFLL); udpbuff.msg.reply_time = htonl(us_reply & 0xFFFFFFFFLL); udpbuff.msg.failures = htonl(state.failures); }; -- cgit v1.2.3