From fe2c53d570bf7a301b0cb5aa25b1186a47378a6b Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Tue, 17 Sep 2019 16:45:20 +0200 Subject: xtables-restore: Use xt_params->program_name Instead of setting newargv[0] to argv[0]'s value, just use whatever xt_params->program_name contains. The latter is arbitrarily defined, but may still be more correct than real argv[0] which may simply be for instance xtables-nft-multi. Either way, there is no practical significance since newargv[0] is used exclusively in debug output. Signed-off-by: Phil Sutter Acked-by: Pablo Neira Ayuso --- iptables/nft-shared.h | 3 +-- iptables/xtables-restore.c | 11 +++++------ iptables/xtables-translate.c | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/iptables/nft-shared.h b/iptables/nft-shared.h index a330aceb..5c664150 100644 --- a/iptables/nft-shared.h +++ b/iptables/nft-shared.h @@ -262,8 +262,7 @@ struct nft_xt_restore_cb { void xtables_restore_parse(struct nft_handle *h, const struct nft_xt_restore_parse *p, - struct nft_xt_restore_cb *cb, - int argc, char *argv[]); + struct nft_xt_restore_cb *cb); void nft_check_xt_legacy(int family, bool is_ipt_save); #endif diff --git a/iptables/xtables-restore.c b/iptables/xtables-restore.c index cb03104e..24bfce51 100644 --- a/iptables/xtables-restore.c +++ b/iptables/xtables-restore.c @@ -87,8 +87,7 @@ static const struct xtc_ops xtc_ops = { void xtables_restore_parse(struct nft_handle *h, const struct nft_xt_restore_parse *p, - struct nft_xt_restore_cb *cb, - int argc, char *argv[]) + struct nft_xt_restore_cb *cb) { const struct builtin_table *curtable = NULL; char buffer[10240]; @@ -264,7 +263,7 @@ void xtables_restore_parse(struct nft_handle *h, parsestart = buffer; } - add_argv(argv[0], 0); + add_argv(xt_params->program_name, 0); add_argv("-t", 0); add_argv(curtable->name, 0); @@ -434,7 +433,7 @@ xtables_restore_main(int family, const char *progname, int argc, char *argv[]) exit(EXIT_FAILURE); } - xtables_restore_parse(&h, &p, &restore_cb, argc, argv); + xtables_restore_parse(&h, &p, &restore_cb); nft_fini(&h); fclose(p.in); @@ -500,7 +499,7 @@ int xtables_eb_restore_main(int argc, char *argv[]) nft_init_eb(&h, "ebtables-restore"); h.noflush = noflush; - xtables_restore_parse(&h, &p, &ebt_restore_cb, argc, argv); + xtables_restore_parse(&h, &p, &ebt_restore_cb); nft_fini(&h); return 0; @@ -524,7 +523,7 @@ int xtables_arp_restore_main(int argc, char *argv[]) struct nft_handle h; nft_init_arp(&h, "arptables-restore"); - xtables_restore_parse(&h, &p, &arp_restore_cb, argc, argv); + xtables_restore_parse(&h, &p, &arp_restore_cb); nft_fini(&h); return 0; diff --git a/iptables/xtables-translate.c b/iptables/xtables-translate.c index 4ae9ff57..64e7667a 100644 --- a/iptables/xtables-translate.c +++ b/iptables/xtables-translate.c @@ -535,7 +535,7 @@ static int xtables_restore_xlate_main(int family, const char *progname, printf("# Translated by %s v%s on %s", argv[0], PACKAGE_VERSION, ctime(&now)); - xtables_restore_parse(&h, &p, &cb_xlate, argc, argv); + xtables_restore_parse(&h, &p, &cb_xlate); printf("# Completed on %s", ctime(&now)); nft_fini(&h); -- cgit v1.2.3