Patchwork [v2,1/5] iptables: bugfix: prevent wrong syntax being accepted by the set match

login
register
mail settings
Submitter Mr Dash Four
Date June 16, 2013, 11:27 p.m.
Message ID <51BE49C9.2070007@googlemail.com>
Download mbox | patch
Permalink /patch/251746/
State Changes Requested
Delegated to: Jozsef Kadlecsik
Headers show

Comments

Mr Dash Four - June 16, 2013, 11:27 p.m.
This patch corrects a bug, which was allowing wrong src and dst syntax to be
specified and accepted by the set match.

Signed-off-by: Dash Four <mr.dash.four@googlemail.com>
---
  extensions/libxt_set.h |    8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/extensions/libxt_set.h b/extensions/libxt_set.h
index 47c3f5b..a352ac3 100644
--- a/extensions/libxt_set.h
+++ b/extensions/libxt_set.h
@@ -109,9 +109,9 @@  parse_dirs_v0(const char *opt_arg, struct xt_set_info_v0 *info)
  	
  	while (i < (IPSET_DIM_MAX - 1) && tmp != NULL) {
  		ptr = strsep(&tmp, ",");
-		if (strncmp(ptr, "src", 3) == 0)
+		if (strncmp(ptr, "src", 4) == 0)
  			info->u.flags[i++] |= IPSET_SRC;
-		else if (strncmp(ptr, "dst", 3) == 0)
+		else if (strncmp(ptr, "dst", 4) == 0)
  			info->u.flags[i++] |= IPSET_DST;
  		else
  			xtables_error(PARAMETER_PROBLEM,
@@ -135,9 +135,9 @@  parse_dirs(const char *opt_arg, struct xt_set_info *info)
  	while (info->dim < IPSET_DIM_MAX && tmp != NULL) {
  		info->dim++;
  		ptr = strsep(&tmp, ",");
-		if (strncmp(ptr, "src", 3) == 0)
+		if (strncmp(ptr, "src", 4) == 0)
  			info->flags |= (1 << info->dim);
-		else if (strncmp(ptr, "dst", 3) != 0)
+		else if (strncmp(ptr, "dst", 4) != 0)
  			xtables_error(PARAMETER_PROBLEM,
  				"You must spefify (the comma separated list of) 'src' or 'dst'.");
  	}