From: Florian Westphal Date: Wed, 10 Jul 2024 13:25:58 +0000 (+0200) Subject: libnftables: fix crash when freeing non-malloc'd address X-Git-Tag: v1.1.0~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=afa77c18f65ebed1036fb8c8cfd15e8a8faa0254;p=thirdparty%2Fnftables.git libnftables: fix crash when freeing non-malloc'd address dirname may return static pointer: munmap_chunk(): invalid pointer 20508 Aborted nft -f test Fixes: 6ef04f99382c ("libnftables: search for default include path last") Signed-off-by: Florian Westphal --- diff --git a/src/libnftables.c b/src/libnftables.c index af4734c0..586f8fde 100644 --- a/src/libnftables.c +++ b/src/libnftables.c @@ -789,12 +789,12 @@ static int nft_run_optimized_file(struct nft_ctx *nft, const char *filename) static int nft_ctx_add_basedir_include_path(struct nft_ctx *nft, const char *filename) { - const char *basedir = dirname(xstrdup(filename)); + char *basedir = xstrdup(filename); int ret; - ret = nft_ctx_add_include_path(nft, basedir); + ret = nft_ctx_add_include_path(nft, dirname(basedir)); - free_const(basedir); + free(basedir); return ret; }