Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7a8daa9 authored by Taehee Yoo's avatar Taehee Yoo Committed by Pablo Neira Ayuso
Browse files

netfilter: nf_ct_helper: Fix helper unregister count.



helpers should unregister the only registered ports.
but, helper cannot have correct registered ports value when
failed to register.

Signed-off-by: default avatarTaehee Yoo <ap420073@gmail.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent dc3ee32e
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -632,6 +632,7 @@ static int __init nf_conntrack_ftp_init(void)
			if (ret) {
			if (ret) {
				pr_err("failed to register helper for pf: %d port: %d\n",
				pr_err("failed to register helper for pf: %d port: %d\n",
				       ftp[i][j].tuple.src.l3num, ports[i]);
				       ftp[i][j].tuple.src.l3num, ports[i]);
				ports_c = i;
				nf_conntrack_ftp_fini();
				nf_conntrack_ftp_fini();
				return ret;
				return ret;
			}
			}
+1 −0
Original line number Original line Diff line number Diff line
@@ -271,6 +271,7 @@ static int __init nf_conntrack_irc_init(void)
		if (ret) {
		if (ret) {
			pr_err("failed to register helper for pf: %u port: %u\n",
			pr_err("failed to register helper for pf: %u port: %u\n",
			       irc[i].tuple.src.l3num, ports[i]);
			       irc[i].tuple.src.l3num, ports[i]);
			ports_c = i;
			nf_conntrack_irc_fini();
			nf_conntrack_irc_fini();
			return ret;
			return ret;
		}
		}
+1 −0
Original line number Original line Diff line number Diff line
@@ -223,6 +223,7 @@ static int __init nf_conntrack_sane_init(void)
			if (ret) {
			if (ret) {
				pr_err("failed to register helper for pf: %d port: %d\n",
				pr_err("failed to register helper for pf: %d port: %d\n",
				       sane[i][j].tuple.src.l3num, ports[i]);
				       sane[i][j].tuple.src.l3num, ports[i]);
				ports_c = i;
				nf_conntrack_sane_fini();
				nf_conntrack_sane_fini();
				return ret;
				return ret;
			}
			}
+1 −0
Original line number Original line Diff line number Diff line
@@ -1669,6 +1669,7 @@ static int __init nf_conntrack_sip_init(void)
			if (ret) {
			if (ret) {
				pr_err("failed to register helper for pf: %u port: %u\n",
				pr_err("failed to register helper for pf: %u port: %u\n",
				       sip[i][j].tuple.src.l3num, ports[i]);
				       sip[i][j].tuple.src.l3num, ports[i]);
				ports_c = i;
				nf_conntrack_sip_fini();
				nf_conntrack_sip_fini();
				return ret;
				return ret;
			}
			}
+1 −0
Original line number Original line Diff line number Diff line
@@ -142,6 +142,7 @@ static int __init nf_conntrack_tftp_init(void)
			if (ret) {
			if (ret) {
				pr_err("failed to register helper for pf: %u port: %u\n",
				pr_err("failed to register helper for pf: %u port: %u\n",
				       tftp[i][j].tuple.src.l3num, ports[i]);
				       tftp[i][j].tuple.src.l3num, ports[i]);
				ports_c = i;
				nf_conntrack_tftp_fini();
				nf_conntrack_tftp_fini();
				return ret;
				return ret;
			}
			}