]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
src: Fix missing nul-termination in nftnl_*_set_str()
authorCarlos Falgueras García <carlosfg@riseup.net>
Tue, 5 Jul 2016 17:15:16 +0000 (19:15 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 6 Jul 2016 15:14:48 +0000 (17:14 +0200)
The string length must be one character longer to include the
nul-termination.

Signed-off-by: Carlos Falgueras García <carlosfg@riseup.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/chain.c
src/rule.c
src/set.c
src/set_elem.c
src/table.c

index bfffbe03ab51a1c7f9535c3d499baf0718042afe..cab64b53571dd1edbb5a5c7c3dd5902fa410148d 100644 (file)
@@ -260,7 +260,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_chain_set_u8, nft_chain_attr_set_u8);
 
 int nftnl_chain_set_str(struct nftnl_chain *c, uint16_t attr, const char *str)
 {
-       return nftnl_chain_set_data(c, attr, str, strlen(str));
+       return nftnl_chain_set_data(c, attr, str, strlen(str) + 1);
 }
 EXPORT_SYMBOL_ALIAS(nftnl_chain_set_str, nft_chain_attr_set_str);
 
index c87fea7fd60fa1b0365595e7bd4caa2455c1d943..2b23c8e35530a62d5c1ec60bd31e3d3ebbd46a02 100644 (file)
@@ -198,7 +198,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_rule_set_u64, nft_rule_attr_set_u64);
 
 int nftnl_rule_set_str(struct nftnl_rule *r, uint16_t attr, const char *str)
 {
-       return nftnl_rule_set_data(r, attr, str, strlen(str));
+       return nftnl_rule_set_data(r, attr, str, strlen(str) + 1);
 }
 EXPORT_SYMBOL_ALIAS(nftnl_rule_set_str, nft_rule_attr_set_str);
 
index 9315bf0deca0626dcb95edaa63272355063933fa..e48ff7874abf127263d8c181f46b8d7b9fcfb279 100644 (file)
--- a/src/set.c
+++ b/src/set.c
@@ -203,7 +203,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_set_set_u64, nft_set_attr_set_u64);
 
 int nftnl_set_set_str(struct nftnl_set *s, uint16_t attr, const char *str)
 {
-       return nftnl_set_set(s, attr, str);
+       return nftnl_set_set_data(s, attr, str, strlen(str) + 1);
 }
 EXPORT_SYMBOL_ALIAS(nftnl_set_set_str, nft_set_attr_set_str);
 
index 00b7327313ec0554c9a67947d78f44b17c6ff25a..40b5bfe105277b7984296393fa0abd8a6c2b358f 100644 (file)
@@ -149,7 +149,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_set_elem_set_u64, nft_set_elem_attr_set_u64);
 
 int nftnl_set_elem_set_str(struct nftnl_set_elem *s, uint16_t attr, const char *str)
 {
-       return nftnl_set_elem_set(s, attr, str, strlen(str));
+       return nftnl_set_elem_set(s, attr, str, strlen(str) + 1);
 }
 EXPORT_SYMBOL_ALIAS(nftnl_set_elem_set_str, nft_set_elem_attr_set_str);
 
index 32d119f4db4e86d59fe736ed5eeb301f5daaa1f8..966b9234edef8131fef368215e5930d2621d5694 100644 (file)
@@ -131,7 +131,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_table_set_u8, nft_table_attr_set_u8);
 
 int nftnl_table_set_str(struct nftnl_table *t, uint16_t attr, const char *str)
 {
-       return nftnl_table_set_data(t, attr, str, 0);
+       return nftnl_table_set_data(t, attr, str, strlen(str) + 1);
 }
 EXPORT_SYMBOL_ALIAS(nftnl_table_set_str, nft_table_attr_set_str);