From 4677971a01dc4d92087dab139428cf4eaa189536 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 18 Jun 2018 10:11:46 +0200 Subject: libnftables: Simplify nft_run_cmd_from_buffer footprint With libnftables documentation being upstream and one confirmed external user (nftlb), time to break the API! First of all, the command buffer passed to nft_run_cmd_from_buffer may (and should) be const. One should consider it a bug if that function ever changed it's content. On the other hand, there is no point in passing the buffer's length as separate argument: NULL bytes are not expected to occur in the input, so it is safe to rely upon strlen(). Also, the actual parsers don't require a buffer length passed to them, either. The only use-case for it is when reallocating the buffer to append a final newline character, there strlen() is perfectly sufficient. Suggested-by: Harald Welte Cc: Laura Garcia Liebana Cc: Eric Leblond Cc: Arturo Borrero Gonzalez Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- py/nftables.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'py/nftables.py') diff --git a/py/nftables.py b/py/nftables.py index 47ff14af..e6e66fb7 100644 --- a/py/nftables.py +++ b/py/nftables.py @@ -100,7 +100,7 @@ class Nftables: self.nft_run_cmd_from_buffer = lib.nft_run_cmd_from_buffer self.nft_run_cmd_from_buffer.restype = c_int - self.nft_run_cmd_from_buffer.argtypes = [c_void_p, c_char_p, c_int] + self.nft_run_cmd_from_buffer.argtypes = [c_void_p, c_char_p] self.nft_ctx_free = lib.nft_ctx_free lib.nft_ctx_free.argtypes = [c_void_p] @@ -267,7 +267,7 @@ class Nftables: output -- a string containing output written to stdout error -- a string containing output written to stderr """ - rc = self.nft_run_cmd_from_buffer(self.__ctx, cmdline, len(cmdline)) + rc = self.nft_run_cmd_from_buffer(self.__ctx, cmdline) output = self.nft_ctx_get_output_buffer(self.__ctx) error = self.nft_ctx_get_error_buffer(self.__ctx) -- cgit v1.2.3