]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
flowtable: Fix for reading garbage
authorPhil Sutter <phil@nwl.cc>
Thu, 20 Dec 2018 20:03:31 +0000 (21:03 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 21 Dec 2018 11:05:16 +0000 (12:05 +0100)
nftnl_flowtable_get_data() doesn't assign to passt data_len pointer
destination in all cases, so initialize it to 0.

Fixes: eb58f53372e74 ("src: add flowtable support")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/flowtable.c

index 31b3c1bbfee68a9e0f58d7a32ef58f9603d9443a..1f7ba3052d4fc822a10819a8f653f34f791baa9d 100644 (file)
@@ -245,7 +245,7 @@ EXPORT_SYMBOL(nftnl_flowtable_get_str);
 
 uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr)
 {
-       uint32_t data_len;
+       uint32_t data_len = 0;
        const uint32_t *val = nftnl_flowtable_get_data(c, attr, &data_len);
 
        nftnl_assert(val, attr, data_len == sizeof(uint32_t));
@@ -256,7 +256,7 @@ EXPORT_SYMBOL(nftnl_flowtable_get_u32);
 
 int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr)
 {
-       uint32_t data_len;
+       uint32_t data_len = 0;
        const int32_t *val = nftnl_flowtable_get_data(c, attr, &data_len);
 
        nftnl_assert(val, attr, data_len == sizeof(int32_t));