On Mon, Feb 17, 2025 at 10:28:14AM +0100, Enrique Llorente wrote: > The option 255 (end of options) do not need the length byte, this change > remove that allowing to have one extra byte at other dynamic options. > > Signed-off-by: Enrique Llorente Reviewed-by: David Gibson > --- > dhcp.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/dhcp.c b/dhcp.c > index 401cb5b..4a209f1 100644 > --- a/dhcp.c > +++ b/dhcp.c > @@ -64,9 +64,9 @@ static struct opt opts[255]; > #define OPT_MIN 60 /* RFC 951 */ > > /* Total option size (excluding end option) is 576 (RFC 2131), minus > - * offset of options (268), minus end option and its length (2). > + * offset of options (268), minus end option (1). > */ > -#define OPT_MAX 306 > +#define OPT_MAX 307 > > /** > * dhcp_init() - Initialise DHCP options > @@ -127,7 +127,7 @@ struct msg { > uint8_t sname[64]; > uint8_t file[128]; > uint32_t magic; > - uint8_t o[OPT_MAX + 2 /* End option and its length */ ]; > + uint8_t o[OPT_MAX + 1 /* End option */ ]; > } __attribute__((__packed__)); > > /** > @@ -194,7 +194,6 @@ static int fill(struct msg *m) > } > > m->o[offset++] = 255; > - m->o[offset++] = 0; > > if (offset < OPT_MIN) { > memset(&m->o[offset], 0, OPT_MIN - offset); -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson