]> git.ipfire.org Git - thirdparty/nftables.git/commit
datatype: initialize TYPE_CT_LABEL slot in datatype array
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 19 Sep 2023 16:09:31 +0000 (18:09 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 20 Sep 2023 15:52:13 +0000 (17:52 +0200)
commit1b235f9962a059a599d9a9ecce477ed71e328e89
tree11efc9e5ae5df0f4036b7d93face11c88afafd9b
parent7360ab610164c7457b1024419ee046a4d05a6e2f
datatype: initialize TYPE_CT_LABEL slot in datatype array

Otherwise, ct label with concatenations such as:

 table ip x {
        chain y {
                ct label . ct mark  { 0x1 . 0x1 }
        }
 }

crashes:

../include/datatype.h:196:11: runtime error: member access within null pointer of type 'const struct datatype'
AddressSanitizer:DEADLYSIGNAL
=================================================================
==640948==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fc970d3199b bp 0x7fffd1f20560 sp 0x7fffd1f20540 T0)
==640948==The signal is caused by a READ memory access.
==640948==Hint: address points to the zero page.
sudo     #0 0x7fc970d3199b in datatype_equal ../include/datatype.h:196

Fixes: 2fcce8b0677b ("ct: connlabel matching support")
Reported-by: Thomas Haller <thaller@redhat.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/ct.h
src/ct.c
src/datatype.c