From a63643a5b65463553dcb5f2dd4e911bd5a22be6b Mon Sep 17 00:00:00 2001 From: netblue30 Date: Mon, 29 Nov 2021 17:11:25 -0500 Subject: [PATCH] fix: allow tilde (home directory) in --netfilter file name --- src/firejail/main.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/firejail/main.c b/src/firejail/main.c index b4117bb70..af2c603df 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c @@ -2661,6 +2661,15 @@ int main(int argc, char **argv, char **envp) { if (checkcfg(CFG_NETWORK)) { arg_netfilter = 1; arg_netfilter_file = argv[i] + 12; + + // expand tilde + if (*arg_netfilter_file == '~') { + char *tmp; + if (asprintf(&tmp, "%s%s", cfg.homedir, arg_netfilter_file + 1) == -1) + errExit("asprintf"); + arg_netfilter_file = tmp; + } + check_netfilter_file(arg_netfilter_file); } else @@ -2671,6 +2680,15 @@ int main(int argc, char **argv, char **envp) { if (checkcfg(CFG_NETWORK)) { arg_netfilter6 = 1; arg_netfilter6_file = argv[i] + 13; + + // expand tilde + if (*arg_netfilter6_file == '~') { + char *tmp; + if (asprintf(&tmp, "%s%s", cfg.homedir, arg_netfilter6_file + 1) == -1) + errExit("asprintf"); + arg_netfilter6_file = tmp; + } + check_netfilter_file(arg_netfilter6_file); } else