From 12c3298335c48fcdd1551c1474f9afe07e9a067f Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sat, 24 Feb 2024 17:13:06 +0100 Subject: irmd: Fix wrong hash length when getting ipcpd The get_ipcpd_by_dst function was returning the hash length of the last IPCP in the list instead of the length of the actual hash. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/irmd/ipcp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/irmd/ipcp.c') diff --git a/src/irmd/ipcp.c b/src/irmd/ipcp.c index d7abe15d..5a9a79d3 100644 --- a/src/irmd/ipcp.c +++ b/src/irmd/ipcp.c @@ -107,7 +107,8 @@ ipcp_msg_t * send_recv_ipcp_msg(pid_t pid, free(sock_path); len = ipcp_msg__get_packed_size(msg); - if (len == 0) { + if (len == 0 || len >= SOCK_BUF_SIZE) { + log_warn("IPCP message has invalid size: %zd.", len); close(sockfd); return NULL; } -- cgit v1.2.3