mirror of
https://github.com/systemd/systemd
synced 2024-10-15 20:45:09 +00:00
network-generator: refuse unexpected trailing strings
This commit is contained in:
parent
816c269e55
commit
b86f60bfb3
|
@ -716,9 +716,6 @@ static int parse_ip_dns_address_one(Context *context, const char *ifname, const
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
if (p[0] == ':')
|
|
||||||
p++;
|
|
||||||
|
|
||||||
*value = p;
|
*value = p;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -808,10 +805,16 @@ static int parse_cmdline_ip_address(Context *context, int family, const char *va
|
||||||
r = parse_ip_dns_address_one(context, ifname, &value);
|
r = parse_ip_dns_address_one(context, ifname, &value);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
value += *value == ':';
|
||||||
r = parse_ip_dns_address_one(context, ifname, &value);
|
r = parse_ip_dns_address_one(context, ifname, &value);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
/* refuse unexpected trailing strings */
|
||||||
|
if (!isempty(value))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -302,6 +302,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:[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: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]: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
|
for cmdline in "${INVALID_COMMAND_LINES[@]}"; do
|
||||||
(! SYSTEMD_LOG_LEVEL=debug SYSTEMD_PROC_CMDLINE="$cmdline" "$GENERATOR_BIN")
|
(! SYSTEMD_LOG_LEVEL=debug SYSTEMD_PROC_CMDLINE="$cmdline" "$GENERATOR_BIN")
|
||||||
|
|
Loading…
Reference in a new issue