mirror of
https://git.netfilter.org/nftables
synced 2026-01-26 10:34:27 +00:00
mnl: Drop asterisk from end of NFTA_DEVICE_PREFIX strings
The asterisk left in place becomes part of the prefix by accident and is thus
both included when matching interface names as well as dumped back to user
space.
Fixes: c31e887504a90 ("mnl: Support simple wildcards in netdev hooks")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Reviewed-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
b134dc2180
commit
11b9415fd6
11
src/mnl.c
11
src/mnl.c
@ -815,9 +815,16 @@ static bool is_wildcard_str(const char *str)
|
||||
|
||||
static void mnl_nft_attr_put_ifname(struct nlmsghdr *nlh, const char *ifname)
|
||||
{
|
||||
uint16_t attr = is_wildcard_str(ifname) ?
|
||||
NFTA_DEVICE_PREFIX : NFTA_DEVICE_NAME;
|
||||
uint16_t attr = NFTA_DEVICE_NAME;
|
||||
char pfx[IFNAMSIZ];
|
||||
|
||||
if (is_wildcard_str(ifname)) {
|
||||
snprintf(pfx, IFNAMSIZ, "%s", ifname);
|
||||
pfx[strlen(pfx) - 1] = '\0';
|
||||
|
||||
attr = NFTA_DEVICE_PREFIX;
|
||||
ifname = pfx;
|
||||
}
|
||||
mnl_attr_put_strz(nlh, attr, ifname);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user