aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/dhcpc.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2019-01-07 15:33:42 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2019-01-07 15:33:42 +0100
commit74d9f1ba37010face4bd1449df4d60dd84450b06 (patch)
treeec6b078d67826b01c69ad533376be7c763596bd2 /networking/udhcp/dhcpc.c
parentb80bdeba0248e2742cf801e7429d5d7aad69d26d (diff)
downloadbusybox-74d9f1ba37010face4bd1449df4d60dd84450b06.tar.gz
udhcpc: when decoding DHCP_SUBNET, ensure it is 4 bytes long
function old new delta udhcp_run_script 795 801 +6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r--networking/udhcp/dhcpc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index 5b3fd531c..dcec8cdfd 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -531,7 +531,7 @@ static char **fill_envp(struct dhcp_packet *packet)
temp = udhcp_get_option(packet, code);
*curr = xmalloc_optname_optval(temp, &dhcp_optflags[i], opt_name);
putenv(*curr++);
- if (code == DHCP_SUBNET) {
+ if (code == DHCP_SUBNET && temp[-OPT_DATA + OPT_LEN] == 4) {
/* Subnet option: make things like "$ip/$mask" possible */
uint32_t subnet;
move_from_unaligned32(subnet, temp);