From fe9922cb4f1fb75072970dd09605fdc056b96195 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 13 May 2011 01:12:05 +0200 Subject: libxt_conntrack: fix assignment to wrong member Of course the range end ought to be set, not doing the start value twice. Signed-off-by: Jan Engelhardt --- extensions/libxt_conntrack.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'extensions/libxt_conntrack.c') diff --git a/extensions/libxt_conntrack.c b/extensions/libxt_conntrack.c index 6d16ccf5..0262b019 100644 --- a/extensions/libxt_conntrack.c +++ b/extensions/libxt_conntrack.c @@ -480,32 +480,28 @@ static void conntrack_mt_parse(struct xt_option_call *cb, uint8_t rev) break; case O_CTORIGSRCPORT: info->origsrc_port = cb->val.port_range[0]; - info->origsrc_port = (cb->nvals == 2) ? cb->val.port_range[1] : - cb->val.port_range[0]; + info->origsrc_port_high = cb->val.port_range[cb->nvals >= 2]; info->match_flags |= XT_CONNTRACK_ORIGSRC_PORT; if (cb->invert) info->invert_flags |= XT_CONNTRACK_ORIGSRC_PORT; break; case O_CTORIGDSTPORT: info->origdst_port = cb->val.port_range[0]; - info->origdst_port = (cb->nvals == 2) ? cb->val.port_range[1] : - cb->val.port_range[0]; + info->origdst_port_high = cb->val.port_range[cb->nvals >= 2]; info->match_flags |= XT_CONNTRACK_ORIGDST_PORT; if (cb->invert) info->invert_flags |= XT_CONNTRACK_ORIGDST_PORT; break; case O_CTREPLSRCPORT: info->replsrc_port = cb->val.port_range[0]; - info->replsrc_port = (cb->nvals == 2) ? cb->val.port_range[1] : - cb->val.port_range[0]; + info->replsrc_port_high = cb->val.port_range[cb->nvals >= 2]; info->match_flags |= XT_CONNTRACK_REPLSRC_PORT; if (cb->invert) info->invert_flags |= XT_CONNTRACK_REPLSRC_PORT; break; case O_CTREPLDSTPORT: info->repldst_port = cb->val.port_range[0]; - info->repldst_port = (cb->nvals == 2) ? cb->val.port_range[1] : - cb->val.port_range[0]; + info->repldst_port_high = cb->val.port_range[cb->nvals >= 2]; info->match_flags |= XT_CONNTRACK_REPLDST_PORT; if (cb->invert) info->invert_flags |= XT_CONNTRACK_REPLDST_PORT; -- cgit v1.2.3