aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/udhcp/script.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/networking/udhcp/script.c b/networking/udhcp/script.c
index 1f74cd742..24688b518 100644
--- a/networking/udhcp/script.c
+++ b/networking/udhcp/script.c
@@ -146,8 +146,11 @@ static char **fill_envp(struct dhcpMessage *packet)
num_options = 0;
else {
for (i = 0; dhcp_options[i].code; i++)
- if (get_option(packet, dhcp_options[i].code))
+ if (get_option(packet, dhcp_options[i].code)) {
num_options++;
+ if (dhcp_options[i].code == DHCP_SUBNET)
+ num_options++; /* for mton */
+ }
if (packet->siaddr) num_options++;
if ((temp = get_option(packet, DHCP_OPTION_OVER)))
over = *temp;
@@ -194,7 +197,7 @@ static char **fill_envp(struct dhcpMessage *packet)
/* watch out for invalid packets */
packet->sname[sizeof(packet->sname) - 1] = '\0';
asprintf(&envp[j++], "sname=%s", packet->sname);
- }
+ }
return envp;
}