diff options
Diffstat (limited to 'libnetutils/dhcpclient.c')
| -rw-r--r-- | libnetutils/dhcpclient.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libnetutils/dhcpclient.c b/libnetutils/dhcpclient.c index b38e258..34500e7 100644 --- a/libnetutils/dhcpclient.c +++ b/libnetutils/dhcpclient.c @@ -197,7 +197,11 @@ int decode_dhcp_msg(dhcp_msg *msg, int len, dhcp_info *info) } switch(opt) { case OPT_SUBNET_MASK: - if (optlen >= 4) info->prefixLength = ipv4NetmaskToPrefixLength(*((uint32_t*)x)); + if (optlen >= 4) { + in_addr_t mask; + memcpy(&mask, x, 4); + info->prefixLength = ipv4NetmaskToPrefixLength(mask); + } break; case OPT_GATEWAY: if (optlen >= 4) memcpy(&info->gateway, x, 4); |
