mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-13 12:58:20 +03:00
network-generator: refuse unexpected trailing strings
(cherry picked from commit b86f60bfb3340a9fa27cb6f127fba7c827481b50) (cherry picked from commit c2cc0ca17923034130a0dc1118b20f5a96db8d95) (cherry picked from commit 7c894f8281818374306e912eaa7b975ca59c22ed)
This commit is contained in:
parent
22378de9d9
commit
768eca0286
@ -693,9 +693,6 @@ static int parse_ip_dns_address_one(Context *context, const char *ifname, const
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (p[0] == ':')
|
||||
p++;
|
||||
|
||||
*value = p;
|
||||
return 0;
|
||||
}
|
||||
@ -785,10 +782,16 @@ static int parse_cmdline_ip_address(Context *context, int family, const char *va
|
||||
r = parse_ip_dns_address_one(context, ifname, &value);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
value += *value == ':';
|
||||
r = parse_ip_dns_address_one(context, ifname, &value);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
/* refuse unexpected trailing strings */
|
||||
if (!isempty(value))
|
||||
return -EINVAL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -291,6 +291,9 @@ INVALID_COMMAND_LINES=(
|
||||
"ip=fdef:c400:bd01:1096::2::[fdef:c400:bd01:1096::1]:64::ipv6:off:[fdef:c400:bd01:1096::aaaa]"
|
||||
"ip=[fdef:c400:bd01:1096::2]::[fdef:c400:bd01:1096::1]:64::ipv6:off:foo"
|
||||
"ip=[fdef:c400:bd01:1096::2]::[fdef:c400:bd01:1096::1]:64::ipv6:off:[fdef:c400:bd01:1096::aaaa]:foo"
|
||||
"ip=[fdef:c400:bd01:1096::2]::[fdef:c400:bd01:1096::1]:64::ipv6:off:[fdef:c400:bd01:1096::aaaa]:[fdef:c400:bd01:1096::bbbb]:"
|
||||
"ip=:::::dhcp99:dhcp6:10.0.0.128:10.0.0.129:"
|
||||
"ip=:::::dhcp99:dhcp6:10.0.0.128:[fdef:c400:bd01:1096::bbbb]:"
|
||||
)
|
||||
for cmdline in "${INVALID_COMMAND_LINES[@]}"; do
|
||||
(! SYSTEMD_LOG_LEVEL=debug SYSTEMD_PROC_CMDLINE="$cmdline" "$GENERATOR_BIN" --root "$WORK_DIR")
|
||||
|
Loading…
x
Reference in New Issue
Block a user