In the current setup, nft (the frontend object) is using the xzalloc() function from libnftables, which does not makes sense, as this is typically an internal helper function. In order to don't use this public libnftables symbol (a later patch just removes it), let's introduce a new allocation function in the nft frontend. This results in a bit of code duplication, but given the simplicity of the code, I don't think it's a big deal. Other possible approach would be to have xzalloc() become part of libnftables public API, but that is a much worse scenario I think. Signed-off-by: Arturo Borrero Gonzalez <arturo@xxxxxxxxxxxxx> --- src/main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main.c b/src/main.c index cbfd69a..d5857e8 100644 --- a/src/main.c +++ b/src/main.c @@ -19,9 +19,24 @@ #include <sys/types.h> #include <nftables/libnftables.h> +#include <nftables.h> #include <utils.h> #include <cli.h> +void *xzalloc(size_t size) +{ + void *ptr; + + ptr = malloc(size); + if (ptr == NULL) { + fprintf(stderr, "%s:%u: Memory allocation failure\n", + __FILE__, __LINE__); + exit(NFT_EXIT_NOMEM); + } + memset(ptr, 0, size); + return ptr; +} + static struct nft_ctx *nft; enum opt_vals {