From 28436e23d313d5986ddb97c9b4a5a0e5e78b2a42 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Wed, 18 Dec 2019 10:25:46 +0100 Subject: [PATCH] BUG/MINOR: stick-table: Use MAX_SESS_STKCTR as the max track ID during parsing During the parsing of the sc-inc-gpc0, sc-inc-gpc1 and sc-inc-gpt1 actions, the maximum stick table track ID allowed is tested against ACT_ACTION_TRK_SCMAX. It is the action number and not the maximum number of stick counters. Instead, MAX_SESS_STKCTR must be used. This patch must be backported to all stable versions. --- src/stick_table.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/stick_table.c b/src/stick_table.c index 1b70b468e..7b648475b 100644 --- a/src/stick_table.c +++ b/src/stick_table.c @@ -1916,9 +1916,9 @@ static enum act_parse_ret parse_inc_gpc0(const char **args, int *arg, struct pro return ACT_RET_PRS_ERR; } - if (rule->arg.gpc.sc >= ACT_ACTION_TRK_SCMAX) { + if (rule->arg.gpc.sc >= MAX_SESS_STKCTR) { memprintf(err, "invalid stick table track ID. The max allowed ID is %d", - ACT_ACTION_TRK_SCMAX-1); + MAX_SESS_STKCTR-1); return ACT_RET_PRS_ERR; } } @@ -1998,9 +1998,9 @@ static enum act_parse_ret parse_inc_gpc1(const char **args, int *arg, struct pro return ACT_RET_PRS_ERR; } - if (rule->arg.gpc.sc >= ACT_ACTION_TRK_SCMAX) { + if (rule->arg.gpc.sc >= MAX_SESS_STKCTR) { memprintf(err, "invalid stick table track ID. The max allowed ID is %d", - ACT_ACTION_TRK_SCMAX-1); + MAX_SESS_STKCTR-1); return ACT_RET_PRS_ERR; } } @@ -2107,9 +2107,9 @@ static enum act_parse_ret parse_set_gpt0(const char **args, int *arg, struct pro return ACT_RET_PRS_ERR; } - if (rule->arg.gpt.sc >= ACT_ACTION_TRK_SCMAX) { + if (rule->arg.gpt.sc >= MAX_SESS_STKCTR) { memprintf(err, "invalid stick table track ID '%s'. The max allowed ID is %d", - args[*arg-1], ACT_ACTION_TRK_SCMAX-1); + args[*arg-1], MAX_SESS_STKCTR-1); return ACT_RET_PRS_ERR; } }