diff --git a/master/fsm_eoe.c b/master/fsm_eoe.c index 285cbd05..4788ab67 100644 --- a/master/fsm_eoe.c +++ b/master/fsm_eoe.c @@ -212,22 +212,26 @@ int ec_fsm_eoe_prepare_set( } if (req->ip_address_included) { - memcpy(cur, &req->ip_address, 4); + uint32_t swapped = htonl(req->ip_address); + memcpy(cur, &swapped, 4); cur += 4; } if (req->subnet_mask_included) { - memcpy(cur, &req->subnet_mask, 4); + uint32_t swapped = htonl(req->subnet_mask); + memcpy(cur, &swapped, 4); cur += 4; } if (req->gateway_included) { - memcpy(cur, &req->gateway, 4); + uint32_t swapped = htonl(req->gateway); + memcpy(cur, &swapped, 4); cur += 4; } if (req->dns_included) { - memcpy(cur, &req->dns, 4); + uint32_t swapped = htonl(req->dns); + memcpy(cur, &swapped, 4); cur += 4; }