diff --git a/sbin/dhcpleased/engine.c b/sbin/dhcpleased/engine.c index da1052c59f5..a895f85cc3d 100644 --- a/sbin/dhcpleased/engine.c +++ b/sbin/dhcpleased/engine.c @@ -1,4 +1,4 @@ -/* $OpenBSD: engine.c,v 1.64 2026/05/14 06:09:50 dgl Exp $ */ +/* $OpenBSD: engine.c,v 1.65 2026/06/15 17:07:34 florian Exp $ */ /* * Copyright (c) 2017, 2021 Florian Obser @@ -861,6 +861,9 @@ parse_dhcp(struct dhcpleased_iface *iface, struct imsg_dhcp *dhcp) rem = ntohs(udp->uh_ulen); } + if (rem < sizeof(*udp)) + goto too_short; + p += sizeof(*udp); rem -= sizeof(*udp);