mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
BUG/MINOR: stick-table/cli: Check for invalid ipv4 key
When an ipv4 key is used to filter a CLI command on a stick table clear/set/show table ...), inetaddr_host+htonl combination was used with no error checking. Instead, we now use inet_pton(), which is what we use for ipv6 addresses since b7c962b0c0 ("BUG/MINOR: stick-table/cli: Check for invalid ipv6 key") Doing this allows us to easily check for parsing errors: we're trading off some parsing efficience to better catch input errors and ensure we get similar behavior between ipv4 and ipv6 addresses handling. This patch may be backported to all supported versions.
This commit is contained in:
parent
ba6ad4654e
commit
c6826b9570
@ -4903,7 +4903,8 @@ static int table_process_entry_per_key(struct appctx *appctx, char **args)
|
||||
|
||||
switch (t->type) {
|
||||
case SMP_T_IPV4:
|
||||
uint32_key = htonl(inetaddr_host(args[4]));
|
||||
if (inet_pton(AF_INET, args[4], &uint32_key) <= 0)
|
||||
return cli_err(appctx, "Invalid key\n");
|
||||
static_table_key.key = &uint32_key;
|
||||
break;
|
||||
case SMP_T_IPV6:
|
||||
|
Loading…
x
Reference in New Issue
Block a user