diff options
author | glebius <glebius@FreeBSD.org> | 2016-08-12 04:01:16 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2016-08-12 04:01:16 +0000 |
commit | 31dd439280dad5066313b92d89838db63d850228 (patch) | |
tree | 2cca4241e42ffa267711f2516135c081337a1624 /sbin/dhclient | |
parent | 3a81e075fa773707432d8e3f71cbc9348670536e (diff) | |
download | FreeBSD-src-31dd439280dad5066313b92d89838db63d850228.zip FreeBSD-src-31dd439280dad5066313b92d89838db63d850228.tar.gz |
Release 6 errata notices for 10.3-RELEASE, all related to Microsoft Hyper-V.
Submitted by: Dexuan Cui <decui microsoft.com>, gjb
Approved by: so
Diffstat (limited to 'sbin/dhclient')
-rw-r--r-- | sbin/dhclient/dhclient.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index 97f9d47..b173eb2 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -2277,6 +2277,17 @@ script_set_env(struct client_state *client, const char *prefix, { 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 *client, const char *prefix, 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); } |