From 71eeec18c4982f33ea9fa8288d3a67fbd5180c08 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Tue, 23 Jun 2026 14:28:51 +0200 Subject: [PATCH] fix(lwip): Adds nullchecks after DHCP server alloc'd pools --- components/lwip/apps/dhcpserver/dhcpserver.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/lwip/apps/dhcpserver/dhcpserver.c b/components/lwip/apps/dhcpserver/dhcpserver.c index 6f432eb8433..d8b01c0c85c 100644 --- a/components/lwip/apps/dhcpserver/dhcpserver.c +++ b/components/lwip/apps/dhcpserver/dhcpserver.c @@ -1239,11 +1239,19 @@ static s16_t parse_msg(dhcps_t *dhcps, struct dhcps_msg *m, u16_t len) pnode = NULL; } else { pdhcps_pool = (struct dhcps_pool *)mem_calloc(1, sizeof(struct dhcps_pool)); + if (pdhcps_pool == NULL) { + return 0; + } pdhcps_pool->ip.addr = dhcps->client_address.addr; memcpy(pdhcps_pool->mac, m->chaddr, sizeof(pdhcps_pool->mac)); pdhcps_pool->lease_timer = lease_timer; pnode = (list_node *)mem_calloc(1, sizeof(list_node)); + if (pnode == NULL) { + mem_free(pdhcps_pool); + pdhcps_pool = NULL; + return 0; + } pnode->pnode = pdhcps_pool; pnode->pnext = NULL;