diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-17 18:07:18 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-17 18:07:18 +0100 |
commit | 6d3b4bb24da9a07c263f3c1acf8df85382ff562c (patch) | |
tree | 62b1094f93c955774e8b2d4aee798029a5a71b7d /networking/udhcp/dhcpc.c | |
parent | 4b72aebe80aaa50a765d5ff61d7d67ed731502d9 (diff) | |
download | busybox-w32-6d3b4bb24da9a07c263f3c1acf8df85382ff562c.tar.gz busybox-w32-6d3b4bb24da9a07c263f3c1acf8df85382ff562c.tar.bz2 busybox-w32-6d3b4bb24da9a07c263f3c1acf8df85382ff562c.zip |
udhcpc: check that 4-byte options are indeed 4-byte, closes 11506
function old new delta
udhcp_get_option32 - 27 +27
udhcp_get_option 231 248 +17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 44/0) Total: 44 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r-- | networking/udhcp/dhcpc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index 4b23e4d39..5b3fd531c 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c | |||
@@ -1691,7 +1691,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) | |||
1691 | * They say ISC DHCP client supports this case. | 1691 | * They say ISC DHCP client supports this case. |
1692 | */ | 1692 | */ |
1693 | server_addr = 0; | 1693 | server_addr = 0; |
1694 | temp = udhcp_get_option(&packet, DHCP_SERVER_ID); | 1694 | temp = udhcp_get_option32(&packet, DHCP_SERVER_ID); |
1695 | if (!temp) { | 1695 | if (!temp) { |
1696 | bb_error_msg("no server ID, using 0.0.0.0"); | 1696 | bb_error_msg("no server ID, using 0.0.0.0"); |
1697 | } else { | 1697 | } else { |
@@ -1718,7 +1718,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) | |||
1718 | struct in_addr temp_addr; | 1718 | struct in_addr temp_addr; |
1719 | uint8_t *temp; | 1719 | uint8_t *temp; |
1720 | 1720 | ||
1721 | temp = udhcp_get_option(&packet, DHCP_LEASE_TIME); | 1721 | temp = udhcp_get_option32(&packet, DHCP_LEASE_TIME); |
1722 | if (!temp) { | 1722 | if (!temp) { |
1723 | bb_error_msg("no lease time with ACK, using 1 hour lease"); | 1723 | bb_error_msg("no lease time with ACK, using 1 hour lease"); |
1724 | lease_seconds = 60 * 60; | 1724 | lease_seconds = 60 * 60; |
@@ -1813,7 +1813,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) | |||
1813 | uint32_t svid; | 1813 | uint32_t svid; |
1814 | uint8_t *temp; | 1814 | uint8_t *temp; |
1815 | 1815 | ||
1816 | temp = udhcp_get_option(&packet, DHCP_SERVER_ID); | 1816 | temp = udhcp_get_option32(&packet, DHCP_SERVER_ID); |
1817 | if (!temp) { | 1817 | if (!temp) { |
1818 | non_matching_svid: | 1818 | non_matching_svid: |
1819 | log1("received DHCP NAK with wrong" | 1819 | log1("received DHCP NAK with wrong" |