summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElise Lennion <elise.lennion@gmail.com>2017-02-02 10:25:53 -0200
committerPablo Neira Ayuso <pablo@netfilter.org>2017-02-05 21:37:22 +0100
commit9b7b2b64caff9de47de36a050cae9f3fbf58e433 (patch)
tree04f35889b94a5400ff27854fd08bf031a27629dc
parent97a2a5bde2f03e33315eab4b76a9e69770b99351 (diff)
main: Validate the number of numeric options
The number of numeric options influences the behavior and the user should be warned if a invalid number is used. Signed-off-by: Elise Lennion <elise.lennion@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/main.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 6ba752b1..1cc8b39f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -288,7 +288,12 @@ int main(int argc, char * const *argv)
include_paths[num_include_paths++] = optarg;
break;
case OPT_NUMERIC:
- numeric_output++;
+ if (++numeric_output > NUMERIC_ALL) {
+ fprintf(stderr, "Too many numeric options "
+ "used, max. %u\n",
+ NUMERIC_ALL);
+ exit(NFT_EXIT_FAILURE);
+ }
break;
case OPT_STATELESS:
stateless_output++;