1Index: src/core/dhcp.c
2===================================================================
3--- src/core/dhcp.c
4+++ src/core/dhcp.c
5@@ -1356,7 +1358,7 @@ dhcp_create_request(struct netif *netif)
6   dhcp->msg_out->giaddr.addr = 0;
7   for (i = 0; i < DHCP_CHADDR_LEN; i++) {
8     /* copy netif hardware address, pad with zeroes */
9-    dhcp->msg_out->chaddr[i] = (i < netif->hwaddr_len) ? netif->hwaddr[i] : 0/* pad byte*/;
10+    dhcp->msg_out->chaddr[i] = (i < (netif->hwaddr_len > NETIF_MAX_HWADDR_LEN ? NETIF_MAX_HWADDR_LEN : netif->hwaddr_len)) ? netif->hwaddr[i] : 0/* pad byte*/;
11   }
12   for (i = 0; i < DHCP_SNAME_LEN; i++) {
13     dhcp->msg_out->sname[i] = 0;
14