From 6039c7f4b0052c4da21520cdd604f04a5a67f50d Mon Sep 17 00:00:00 2001 From: Pierre Lebleu Date: Thu, 4 May 2017 10:50:56 +0200 Subject: [PATCH] firewall3: check the return value of fw3_parse_options() The return value of fw3_parse_options() should be checked. Signed-off-by: Pierre Lebleu --- defaults.c | 3 ++- forwards.c | 3 ++- includes.c | 3 ++- ipsets.c | 3 ++- zones.c | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/defaults.c b/defaults.c index 8afbf9a..85a3750 100644 --- a/defaults.c +++ b/defaults.c @@ -107,7 +107,8 @@ fw3_load_defaults(struct fw3_state *state, struct uci_package *p) continue; } - fw3_parse_options(&state->defaults, fw3_flag_opts, s); + if(!fw3_parse_options(&state->defaults, fw3_flag_opts, s)) + warn_elem(e, "has invalid options"); check_policy(e, &defs->policy_input, "input"); check_policy(e, &defs->policy_output, "output"); diff --git a/forwards.c b/forwards.c index 997c307..9b369f3 100644 --- a/forwards.c +++ b/forwards.c @@ -54,7 +54,8 @@ fw3_load_forwards(struct fw3_state *state, struct uci_package *p) forward->enabled = true; - fw3_parse_options(forward, fw3_forward_opts, s); + if (!fw3_parse_options(forward, fw3_forward_opts, s)) + warn_elem(e, "has invalid options"); if (!forward->enabled) { diff --git a/includes.c b/includes.c index a9a75cb..a2b37a3 100644 --- a/includes.c +++ b/includes.c @@ -54,7 +54,8 @@ fw3_load_includes(struct fw3_state *state, struct uci_package *p) include->name = e->name; include->enabled = true; - fw3_parse_options(include, fw3_include_opts, s); + if (!fw3_parse_options(include, fw3_include_opts, s)) + warn_elem(e, "has invalid options"); if (!include->enabled) { diff --git a/ipsets.c b/ipsets.c index 0325944..7a72fd3 100644 --- a/ipsets.c +++ b/ipsets.c @@ -239,7 +239,8 @@ fw3_load_ipsets(struct fw3_state *state, struct uci_package *p) if (!ipset) continue; - fw3_parse_options(ipset, fw3_ipset_opts, s); + if (!fw3_parse_options(ipset, fw3_ipset_opts, s)) + warn_elem(e, "has invalid options"); if (ipset->external) { diff --git a/zones.c b/zones.c index 26f6215..2aa7473 100644 --- a/zones.c +++ b/zones.c @@ -171,7 +171,8 @@ fw3_load_zones(struct fw3_state *state, struct uci_package *p) if (!zone) continue; - fw3_parse_options(zone, fw3_zone_opts, s); + if (!fw3_parse_options(zone, fw3_zone_opts, s)) + warn_elem(e, "has invalid options"); if (!zone->enabled) { -- 2.25.1