]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
src: don't set data_len to zero when returning pointers
authorPablo Neira Ayuso <pablo@netfilter.org>
Sun, 31 Jul 2016 20:05:52 +0000 (22:05 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 1 Aug 2016 12:01:01 +0000 (14:01 +0200)
nft already assumes that passing NULL as data_len is valid, otherwise
it crashes. Fix this by leave data_len unset in this specific case.

Fixes: bda7102 ("src: Fix nftnl_*_get_data() to return the real attribute length")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/expr/dynset.c
src/set_elem.c

index 111bf8cdbbf7f646c657df4d98184cafd636c5c1..0eaa409a9c80821b1e8d8ee83fbe05b5326daad4 100644 (file)
@@ -94,7 +94,6 @@ nftnl_expr_dynset_get(const struct nftnl_expr *e, uint16_t type,
                *data_len = sizeof(dynset->set_id);
                return &dynset->set_id;
        case NFTNL_EXPR_DYNSET_EXPR:
-               *data_len = 0;
                return dynset->expr;
        }
        return NULL;
index 4e89210d363b668288509b014375a2bdca1a151b..79086615e5035d2982dae8aa3d064d595e88e9cb 100644 (file)
@@ -184,7 +184,6 @@ const void *nftnl_set_elem_get(struct nftnl_set_elem *s, uint16_t attr, uint32_t
                *data_len = s->user.len;
                return s->user.data;
        case NFTNL_SET_ELEM_EXPR:
-               *data_len = 0;
                return s->expr;
        }
        return NULL;