RESENT of v1. Also rebased on top of current `master`, which required minor adjustments. Also minor adjustments to the commit messages. Thomas Haller (4): datatype: don't return a const string from cgroupv2_get_path() gmputil: add nft_gmp_free() to free strings from mpz_get_str() all: add free_const() and use it instead of xfree() all: remove xfree() and use plain free() include/gmputil.h | 2 + include/nft.h | 6 ++ include/utils.h | 1 - src/cache.c | 6 +- src/ct.c | 2 +- src/datatype.c | 18 ++--- src/erec.c | 6 +- src/evaluate.c | 18 ++--- src/expression.c | 6 +- src/gmputil.c | 21 +++++- src/json.c | 2 +- src/libnftables.c | 24 +++--- src/meta.c | 4 +- src/misspell.c | 2 +- src/mnl.c | 16 ++-- src/netlink_linearize.c | 4 +- src/optimize.c | 12 +-- src/parser_bison.y | 158 ++++++++++++++++++++-------------------- src/rule.c | 68 ++++++++--------- src/scanner.l | 6 +- src/segtree.c | 4 +- src/statement.c | 4 +- src/utils.c | 5 -- src/xt.c | 10 +-- 24 files changed, 213 insertions(+), 192 deletions(-) -- 2.41.0