summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-07-31 22:05:52 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2016-08-01 14:01:01 +0200
commit21e062bb589cbea328c65dc37c96e1d91eacb920 (patch)
tree31e4b6aa51a91ce5a90117fc9d525b8a9a13df8e
parent51e9a5a2be2003e1d20aee91e5970b9fbb322bc0 (diff)
src: don't set data_len to zero when returning pointers
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>
-rw-r--r--src/expr/dynset.c1
-rw-r--r--src/set_elem.c1
2 files changed, 0 insertions, 2 deletions
diff --git a/src/expr/dynset.c b/src/expr/dynset.c
index 111bf8c..0eaa409 100644
--- a/src/expr/dynset.c
+++ b/src/expr/dynset.c
@@ -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;
diff --git a/src/set_elem.c b/src/set_elem.c
index 4e89210..7908661 100644
--- a/src/set_elem.c
+++ b/src/set_elem.c
@@ -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;