From: Pablo Neira Ayuso Date: Sun, 31 Jul 2016 20:05:52 +0000 (+0200) Subject: src: don't set data_len to zero when returning pointers X-Git-Tag: libnftnl-1.0.7~64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21e062bb589cbea328c65dc37c96e1d91eacb920;p=thirdparty%2Flibnftnl.git 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 --- diff --git a/src/expr/dynset.c b/src/expr/dynset.c index 111bf8cd..0eaa409a 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 4e89210d..79086615 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;