diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-08-11 05:24:48 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-08-11 05:39:38 +0200 |
commit | d9957a5c57a11df8233ea4a7c91c579af511e4b6 (patch) | |
tree | 2cbdf0b4db9a90abf83d5790ff80077ceb738da2 /src/tcpopt.c | |
parent | b98fee20bfe23c787ff1f00660a205865eb8bb95 (diff) |
tcpopt: bogus assertion on undefined options
# nft add rule x y tcp option 6 exists
# nft list ruleset
nft: tcpopt.c:208: tcpopt_init_raw: Assertion `expr->exthdr.desc != NULL' failed.
Aborted
Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1557
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/tcpopt.c')
-rw-r--r-- | src/tcpopt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/tcpopt.c b/src/tcpopt.c index 05b5ee6e..53fe9bc8 100644 --- a/src/tcpopt.c +++ b/src/tcpopt.c @@ -200,7 +200,8 @@ void tcpopt_init_raw(struct expr *expr, uint8_t type, unsigned int off, else datatype_set(expr, &integer_type); - if (type >= array_size(tcpopt_protocols)) + if (type >= array_size(tcpopt_protocols) || + !tcpopt_protocols[type]) return; expr->exthdr.desc = tcpopt_protocols[type]; |