From: Jiri Pirko Date: Mon, 5 Jun 2017 14:22:03 +0000 (+0200) Subject: tc: gact: fix control action parsing X-Git-Tag: v4.13.0~126 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18f05d06016d9492c87fd105d831de0d6d858f43;p=thirdparty%2Fiproute2.git tc: gact: fix control action parsing parse_action_control helper does advancing of the arg inside. So don't do it outside. Fixes: e67aba559581 ("tc: actions: add helpers to parse and print control actions") Signed-off-by: Jiri Pirko --- diff --git a/tc/m_gact.c b/tc/m_gact.c index d95aa1176..1a2583372 100644 --- a/tc/m_gact.c +++ b/tc/m_gact.c @@ -90,17 +90,14 @@ parse_gact(struct action_util *a, int *argc_p, char ***argv_p, if (matches(*argv, "gact") == 0) { ok++; + argc--; + argv++; } else { if (parse_action_control(&argc, &argv, &p.action, false) == -1) usage(); ok++; } - if (ok) { - argc--; - argv++; - } - #ifdef CONFIG_GACT_PROB if (ok && argc > 0) { if (matches(*argv, "random") == 0) { @@ -120,8 +117,6 @@ parse_gact(struct action_util *a, int *argc_p, char ***argv_p, if (parse_action_control(&argc, &argv, &pp.paction, false) == -1) usage(); - argc--; - argv++; if (get_u16(&pp.pval, *argv, 10)) { fprintf(stderr, "Illegal probability val 0x%x\n", pp.pval); return -1;