doc/share/security/patches/EN-16:10/dhclient.patch
Gleb Smirnoff a79a8e4d97 Release 6 errata notices for 10.3-RELEASE, all related to Microsoft Hyper-V.
Submitted by:	Dexuan Cui <decui microsoft.com>, gjb
2016-08-12 04:07:51 +00:00

39 lines
1.2 KiB
Diff

Index: sbin/dhclient/dhclient.c
===================================================================
--- sbin/dhclient/dhclient.c (revision 302284)
+++ sbin/dhclient/dhclient.c (working copy)
@@ -2277,6 +2277,17 @@ script_set_env(struct client_state *clie
{
int i, j, namelen;
+ /* No `` or $() command substitution allowed in environment values! */
+ for (j=0; j < strlen(value); j++)
+ switch (value[j]) {
+ case '`':
+ case '$':
+ warning("illegal character (%c) in value '%s'",
+ value[j], value);
+ /* Ignore this option */
+ return;
+ }
+
namelen = strlen(name);
for (i = 0; client->scriptEnv[i]; i++)
@@ -2313,16 +2324,6 @@ script_set_env(struct client_state *clie
strlen(value) + 1);
if (client->scriptEnv[i] == NULL)
error("script_set_env: no memory for variable assignment");
-
- /* No `` or $() command substitution allowed in environment values! */
- for (j=0; j < strlen(value); j++)
- switch (value[j]) {
- case '`':
- case '$':
- error("illegal character (%c) in value '%s'", value[j],
- value);
- /* not reached */
- }
snprintf(client->scriptEnv[i], strlen(prefix) + strlen(name) +
1 + strlen(value) + 1, "%s%s=%s", prefix, name, value);
}