From 711fa7400dbc836e46cb0a977654595f61139cf5 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Wed, 15 Apr 2026 09:27:46 +0200 Subject: [PATCH] fix(lwip): Trim to max packet size in dhcp server --- components/lwip/apps/dhcpserver/dhcpserver.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/lwip/apps/dhcpserver/dhcpserver.c b/components/lwip/apps/dhcpserver/dhcpserver.c index 6b4830a5f1c..a8067a6834a 100644 --- a/components/lwip/apps/dhcpserver/dhcpserver.c +++ b/components/lwip/apps/dhcpserver/dhcpserver.c @@ -1173,7 +1173,7 @@ static void handle_dhcp(void *arg, { struct dhcps_t *dhcps = arg; struct dhcps_msg *pmsg_dhcps = NULL; - s16_t tlen, malloc_len; + u16_t tlen, malloc_len; u16_t i; u16_t dhcps_msg_cnt = 0; u8_t *p_dhcps_msg = NULL; @@ -1188,6 +1188,11 @@ static void handle_dhcp(void *arg, return; } + if (p->tot_len > 1500) { + pbuf_free(p); + return; + } + malloc_len = sizeof(struct dhcps_msg); #if DHCPS_DEBUG DHCPS_LOG("dhcps: handle_dhcp malloc_len=%d rx_len=%d", malloc_len, p->tot_len);