diff mbox series

[iptables] xtables-compat: truncate comments to 254 bytes

Message ID 20180428095541.16830-1-fw@strlen.de
State Accepted
Delegated to: Pablo Neira
Headers show
Series [iptables] xtables-compat: truncate comments to 254 bytes | expand

Commit Message

Florian Westphal April 28, 2018, 9:55 a.m. UTC
Kernel clamps udata size at 256 bytes, udata size however also includes
internal bookkeeping which brings us over this limit.

Signed-off-by: Florian Westphal <fw@strlen.de>
---
 Alternative is to just fallback to the comment match,
 any preference?

 iptables/nft.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/iptables/nft.c b/iptables/nft.c
index c18798c98591..e7cb827bb132 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -1041,12 +1041,14 @@  enum udata_type {
 int add_comment(struct nftnl_rule *r, const char *comment)
 {
 	struct nftnl_udata_buf *udata;
+	char comm[254];
 
 	udata = nftnl_udata_buf_alloc(NFT_USERDATA_MAXLEN);
 	if (!udata)
 		return -ENOMEM;
 
-	if (!nftnl_udata_put_strz(udata, UDATA_TYPE_COMMENT, comment))
+	snprintf(comm, sizeof(comm), "%s", comment);
+	if (!nftnl_udata_put_strz(udata, UDATA_TYPE_COMMENT, comm))
 		return -ENOMEM;
 	nftnl_rule_set_data(r, NFTNL_RULE_USERDATA,
 			    nftnl_udata_buf_data(udata),